---
title: "Libraries, system software, languages, OO"
subject: "Multimedia System"
chapter: 7
key: "semester_8/multimedia_system:libraries-system-software-languages-oo"
source: https://www.bctengineer.com/q/semester_8/multimedia_system/libraries-system-software-languages-oo
site: BCT Engineering
---

# Libraries, system software, languages, OO

Multimedia System · Chapter 7: Abstractions for Programming

- Asked in: 2072 Asoj, 9 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_8/multimedia_system/libraries-system-software-languages-oo
- Whole chapter: https://www.bctengineer.com/md/semester_8/multimedia_system/chapter-7

## Question

Explain the libraries, system software, higher programming languages and object-oriented approaches in terms of multimedia system.

## 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.

## Answer

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 |

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which is a limitation of multimedia libraries?
   A. They cannot be used without writing device drivers
   B. They give no device-independent access
   C. They are restricted to the provided functions, and the programmer must handle timing and synchronisation
   D. They need real-time scheduling by the language
   Answer: C. Libraries are limited to what they offer, usually not integrated with the language, and timing/synchronisation is left to the programmer. (Key point: Limits of libraries)

2. Which service is provided by multimedia system software (the OS)?
   A. Class inheritance for Audio and Video
   B. Real-time scheduling and resource management for continuous media delivery
   C. Simple play() statements in a script
   D. Direct editing of image pixels
   Answer: B. System software provides drivers, real-time scheduling, resource management, file systems and buffer management for streams. (Key point: System software services)

3. What is the key feature of a higher programming language for multimedia?
   A. Programmers write register-level code
   B. Media is handled by simple statements while system details are hidden
   C. It requires classes and inheritance
   D. It offers the highest control over performance
   Answer: B. Such languages (Java Media Framework, pygame, Lingo) have built-in or class-library media support, hiding system details; they are easier but give less performance control. (Key point: Higher programming languages)

4. Why do object-oriented approaches suit multimedia systems?
   A. They avoid using classes for devices
   B. They remove the need for synchronisation
   C. They are always faster than libraries
   D. Encapsulation, inheritance and polymorphism give reuse, modularity and easy extension (e.g. Media with Audio, Video subclasses)
   Answer: D. Modelling media, devices and streams as objects gives reuse, modularity and extensibility, and a standard model for creating, processing and synchronising media. (Key point: Object-oriented benefit)

## Related in Multimedia System

- [Higher-level language versus OO approach](https://www.bctengineer.com/question.md?key=semester_8%2Fmultimedia_system%3Ahll-vs-oo-approach) — Multimedia System, chapter 7
- [Abstraction levels of multimedia programming](https://www.bctengineer.com/question.md?key=semester_8%2Fmultimedia_system%3Aabstraction-levels-programming) — Multimedia System, chapter 7, asked 6×
- [Global structure of multimedia system](https://www.bctengineer.com/question.md?key=semester_8%2Fmultimedia_system%3Aglobal-structure-multimedia-system) — Multimedia System, chapter 1, asked 3×

## Related in other subjects

- [Compare procedural and object oriented programming](https://www.bctengineer.com/question.md?key=semester_3%2Fobject_oriented_programming%3Aprocedural-vs-oop-compare) — Object Oriented Programming, chapter 1
- [Object oriented system and core concepts](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aoo-system-concepts-explained) — Object Oriented Analysis and Design, chapter 1
- [Algorithmic vs object-oriented decomposition](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aalgorithmic-vs-oo-decomposition) — Object Oriented Analysis and Design, chapter 1
- [Generations of programming languages](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Agenerations-programming-languages) — Computer Programming, chapter 1, asked 4×
