1.Time
有多种实现,一般是GstSystemClock
Running time at 't':
– t = gst_clock_get_time (clock);
– Running time = t - base
Segment
Need a way to define a relative starting position for a stream
GstSegment
– Define playback boundaries
● Start and stop positions
– Running time = timestamp - segment.start
Playback rate
● Play media slower or faster
● No changes to the clock speed
● Use the segment.rate
Basesink
AudioBaseSink
Extends GstBaseSink and provides basic audio
sink features by managing a ringbuffer
AudioSink
Subclass of GstAudioBaseSink that creates a
GstAudioRingBuffer
How can video decoders work, if they need to process GOPs in order?
– Decode in normal order, but push data in reverse
https://gstreamer.freedesktop.org/documentation/gstreamer/gstinfo.html
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gst-running.html
https://github.com/luisbg/emacs-gstreamer