seek before playback

Holger Kaelberer hk at elberer.de
Wed Jun 26 07:48:03 PDT 2013


>> 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?
> 
> Could you elaborate more. I am not sure what you mean by "Is your stream
> healthy?"

Your stream could not contain valid keyframe information.

In theory ffdec_h264/ffdec_xxx contains code for recovering properly after seeking/flush_stop:

  /* when we're waiting for a keyframe, see if we have one or drop the current
   * non-keyframe */
  if (G_UNLIKELY (ffmpegdec->waiting_for_key)) {
    if (G_LIKELY (!iskeyframe))
      goto drop_non_keyframe;

    /* we have a keyframe, we can stop waiting for one */
    ffmpegdec->waiting_for_key = FALSE;
  }

But after trying I can confirm that it is not working. Seems like flush-stop never reaches
ffdec_h264. Don't know why.

Might be better in 1.0?

Holger


More information about the gstreamer-devel mailing list