9.1. Buffers .... ............................. ............................................................................................41
9.2. Events
..............................................................................................................................4 1
10. Your first application
..................................................................................................................43
10.1. He llo world
....................................................................................................................43
10.2. Compiling an d Running helloworld.c
...........................................................................46
10.3. Conclusion
.....................................................................................................................47
III. Advanced GStreamer concepts
........................................................................................................48
11. Position tracking and seeking
....................................................................................................49
11.1. Querying: getting the position or length of a stream
.....................................................49
11.2. Events: seeking (and mo re)
...........................................................................................50
12. Metadata
.....................................................................................................................................52
12.1. M etadata reading
...........................................................................................................52
12.2. Tag writing
.....................................................................................................................54
13. Inte rfaces
....................................................................................................................................56
13.1. The URI interface
..........................................................................................................56
13.2. The Color Balance interface
..........................................................................................56
13.3. The Video Overlay interface
..........................................................................................56
14. Clocks and synchronizatio n in GStreamer
.................................................................................5 8
14.1. Cloc k running-time
........................................................................................................58
14.2. Buffer running- time
.......................................................................................................59
14.3. Buffer stream-time
.........................................................................................................59
14.4. Time overview
...............................................................................................................60
14.5. Cloc k providers
.............................................................................................................60
14.6. Latency
..........................................................................................................................6 1
15. Buffering
....................................................................................................................................63
15.1. Stream buffering
............................................................................................................64
15.2. Download buffering
.......................................................................................................65
15.3. Timeshift buffering
........................................................................................................65
15.4. Live buffering
................................................................................................................66
15.5. Buffering strategies
........................................................................................................66
16. Dynamic Controllable Parameters
.............................................................................................71
16.1. Ge tting Started
...............................................................................................................71
16.2. Settin g up para meter control
.........................................................................................71
17. Threads
.......................................................................................................................................73
17.1. Scheduling in GStreamer
...............................................................................................73
17.2. Configuring Th reads in G Str eamer
...............................................................................73
17.3. When would you want to force a thread?
......................................................................79
18. Auto plugging
.............................................................................................................................81
18.1. M edia types as a way to identify streams
......................................................................81
18.2. M edia stream type detection
..........................................................................................82
18.3. Dynamically autoplugging a pipeline
............................................................................84
19. Pipeline manipulation
................................................................................................................85
19.1. Usin g probes
..................................................................................................................85
19.2. M anually adding or removing data from/to a pipeline
..................................................93
19.3. Forcin g a format
..........................................................................................................101
19.4. Dynamically changing the pipeline
.............................................................................103
iv