seek before playback
Holger Kaelberer
hk at elberer.de
Fri Jun 21 01:05:00 PDT 2013
Hi
On 06/19/2013 06:43 PM, b12 wrote:
> Basically here is how my pipeline is setup:
> filesrc-> queue->flutsdemux-> ffdec_h264->xvimagesink
> So far I have attempted to do this by:
> 1)Build my pipeline
> 2)Set state to PLAYING
> 3)On the GST_MESSAGE_STATE_CHANGED to PLAYING I attempt my seek.
Should be a good point for initial seeks.
>
> Problem I find with this solution is that 9 times out of 10 the seek fails
> (dont know why).
$ gst-inspect flutsdemux | grep pcr-difference -A2
pcr-difference : PCR difference in seconds for bitrate calculation
flags: readable, writable
Integer. Range: 0 - 2147483647 Default: 5000
IIRC, flutsdemux drops seek events in the first pcr-difference seconds, at least in push-mode, which
is good if have vbr encoded streams. Not sure about pull mode. Did you try setting pcr-difference =
0? Or try mpegtsdemux (in 0.10), which does not have this settings.
> The one time out of 10 that it does work I get a ton (50 -
> 100) qos messages with very bad rendering then after about 5 seconds it
> begins playback.
> I understand that the bad rendering may be that I am seeking to a point
> between i frames.
Possible. I think it shoudl be ffdec_h264's job to drop non-keyframes after seek/flush-stop events.
Can't remember that it has problems with that. Is your stream healthy?
Holger
More information about the gstreamer-devel
mailing list