How to use bins to keep state local ans easily manage dynamic pipelines
Key | Action |
---|---|
K or space | Play / Pause |
M | Mute / Unmute |
C | Select next subtitles |
A | Select next audio track |
V | Show slide in full page or toggle automatic source change |
left arrow | Seek 5s backward |
right arrow | Seek 5s forward |
shift + left arrow or J | Seek 10s backward |
shift + right arrow or L | Seek 10s forward |
control + left arrow | Seek 60s backward |
control + right arrow | Seek 60s forward |
shift + down arrow | Decrease volume |
shift + up arrow | Increase volume |
shift + comma | Decrease playback rate |
shift + dot or shift + semicolon | Increase playback rate |
end | Seek to end |
beginning | Seek to beginning |
Share this media
Download links
HLS video stream
You can use an external player to play this stream (like VLC).
HLS video streamWhen subscribed to notifications, an email will be sent to you for all added annotations.
Your user account has no email address.
Information on this media
Links:
Number of views:
240 (this month: 1)Creation date:
Oct. 9, 2015Speakers:
Vivia NikalaidouCompany:
ToolsOnAirLicense:
CC BY-SA 3.0Description
At ToolsOnAir we have dynamic pipelines, where inputs and outputs of varying complexity are added when the main pipeline is PLAYING. In this scenario, state changes and callbacks can be very tricky and can lead to bug-prone spaghetti code. An easy way to keep our code clean, manageable and bug-free™ is by using bins and bin subclasses. These help manage groups of elements that usually go together and perform all the complicated state change black magic for us. As an added bonus, error handling is made much easier. At the end of the day, these advantages greatly outbalance the initial overhead required to write a bin subclass.
Paraskevi Nikolaidou (also known as Vivia) is currently working as a GStreamer developer. She has been active in the Open Source community and has participated in various Free and Open Source projects since 2004 when she joined the Agent Academy project. Vivia has obtained her PhD in Electrical and Computer Engineering from the Aristotle University of Thessaloniki in 20211, where she worked on multi-agent systems as well as data mining methods in supply chain management. Her open source contributions range from SCCORI Agent which was part of her PhD studies, to her contributions to the GStreamer multimedia framework, passing by her involvement with the aMSN project during her spare time. She lives in Thessaloniki, Greece, where she is currently working remotely for ToolsOnAir, a company based in Austria that works with broadcast production software, working on their GStreamer-based platform. She likes ducks, green tea, learning foreign languages and playing the flute.
Other media in the channel "GStreamer Conference 2015"
- 793 views, 28 this year, 1 this monthChromium: a new media Backend based on GStreamerOctober 29th, 2015
- 408 views, 46 this year, 3 this monthSimple technique of pipeline performance measurements and time profiling of individual elements (trimmed)October 23rd, 2015
- 916 views, 109 this year, 3 this monthSynchronised multi-room media playback and distributed live media processing and mixing with GStreamerOctober 23rd, 2015
- 345 views, 13 this yearImplementing a WebRTC endpoint in GStreamer: challenges, problems and perspectivesOctober 23rd, 2015
- 626 views, 73 this yearRobust lipsync calibration and error detection Using gstreamer and QR CodesOctober 23rd, 2015
- 193 views, 3 this yearHardware Accelerated Multimedia on Jacinto 6 using Gstreamer frameworkOctober 23rd, 2015