- 2072 Asoj · 9 marks
Libraries, system software, languages, OO
Short answer
Libraries provide ready-made media functions through APIs. System software includes OS drivers, real-time scheduling, file and buffer management. Higher languages give built-in media support, while object-oriented approaches model media, devices and streams as reusable classes with encapsulation, inheritance and polymorphism.
Explain the libraries, system software, higher programming languages and object-oriented approaches in terms of multimedia system.
These four are the main software-oriented abstraction levels for programming multimedia systems.
1. Libraries
A library is a set of ready-made functions for media tasks (capture, play, edit, display). The application calls them through an API, without handling the hardware directly.
- Provide device-independent access and save development time.
- Examples: DirectX, OpenGL, SDL, OpenAL, FFmpeg.
- Limits: restricted to the functions provided; usually not integrated with the language, and the programmer must handle timing and synchronisation.
2. System software
This is the operating system and its multimedia services.
- Device drivers for audio, video and graphics hardware.
- Real-time scheduling and resource management to guarantee continuous media delivery.
- File systems and buffer management for large streams.
- Media control interfaces and synchronisation support.
- Examples: Windows multimedia services, Linux ALSA and V4L, Android media framework. Applications use it through system calls or an API.
3. Higher programming languages
Languages with built-in or class-library support for media, hiding system details. Media is handled by simple statements, and synchronisation and timing are supported by the language.
- Examples: Java (Java Media Framework, Java Sound), ActionScript/Flash, Lingo, Python (pygame), JavaScript with HTML5 audio and video.
- Easier and more portable, but less control over performance.
4. Object-oriented approaches
Media, devices and streams are modelled as objects with attributes and methods.
- Encapsulation, inheritance and polymorphism give reuse, modularity and easy extension. For example, a class Media can have subclasses Audio, Video and Image, each with play() and stop().
- Common media classes, device classes and stream classes simplify design; they allow a standard model for creating, processing, and synchronising media.
- Examples: class frameworks and Java classes, C++ toolkits such as Qt Multimedia.
| Level | Programmer effort | Control | Portability |
|---|---|---|---|
| Library | Medium | High | Medium |
| System software | Medium | High | Low to medium |
| Higher language | Low | Medium | High |
| Object-oriented | Lowest | Medium | High |
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Higher-level language versus OO approach · Multimedia System, chapter 7
- Abstraction levels of multimedia programming · Multimedia System, chapter 7 · asked 6×
- Global structure of multimedia system · Multimedia System, chapter 1 · asked 3×
- Compare procedural and object oriented programming · Object Oriented Programming, chapter 1
- Object oriented system and core concepts · Object Oriented Analysis and Design, chapter 1
- Algorithmic vs object-oriented decomposition · Object Oriented Analysis and Design, chapter 1
- Generations of programming languages · Computer Programming, chapter 1 · asked 4×