GStreamer Daemon - Gapless Playback: Difference between revisions
No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
# Listen to the EOS messages | # Listen to the EOS messages | ||
gstd-client bus_filter eos | gstd-client bus_filter p eos | ||
gstd-client pipeline_play p | gstd-client pipeline_play p | ||
Line 23: | Line 23: | ||
while true; do | while true; do | ||
gstd-client bus_read p | gstd-client bus_read p | ||
gstd-client event_seek 1.0 | gstd-client event_seek p 1.0 | ||
done | done | ||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} |
Revision as of 21:27, 11 May 2017
← Simple Examples |
⌂ Home |
→ MP4 Video Recording |
The Gapless Playback example will run a video from start to end sequentially in an infinite loop. To do so, it will wait for the file playback to finish before rewinding to the beginning of the file and restarting playback. The end of the playback is detected by polling the pipeline bus for the End Of Stream (EOS) message, which is posted by the Filesrc element when all the content has been read. The rewinding is done by sending a Seek event to the pipeline, which effectively restarts the pipeline.
Example
The following example is a bash script that demonstrates the simple gapless playback.
#!/bin/bash # Absolute path to the video location VIDEO=$1 gstd-client pipeline_create p playbin uri=file://$VIDEO # Listen to the EOS messages gstd-client bus_filter p eos gstd-client pipeline_play p # Wait for the message to perform seek while true; do gstd-client bus_read p gstd-client event_seek p 1.0 done
← Simple Examples |
⌂ Home |
→ MP4 Video Recording |
- GStreamer Daemon Basics
- Building GStreamer Daemon
- Quick Start Guide
- Interacting with Pipelines
- Modifying Element Properties
- Sending Events
- Receiving Messages from the Bus
- Receiving Signals
- Enabling the Debug Subsystem
- Low-level Implementation for Applications
- Response Format
- API Reference
- Simple Examples
- Advanced Examples
- Troubleshooting
- Releases
- Licensing
- FAQ
- Contact Us