GstBaseParse broken for video streams?

Matej Knopp matej.knopp at inmethod.com
Thu Nov 10 08:32:27 PST 2011


This was a false alarm, turns out gstmpegvideoparser doesn't support
progressive frames which was the cause for timestamp distortion. patch
attached[1]

[1] https://bugzilla.gnome.org/show_bug.cgi?id=663782

On Thu, Nov 10, 2011 at 2:12 PM, Matej Knopp <matej.knopp at inmethod.com> wrote:
> Actually, nevermind. The mpegvideoparse doesn't seem to take picture
> coding extension into account (which can affect frame duration). This
> seems to be the cause of my problems.
>
> -Matej
>
> On Thu, Nov 10, 2011 at 12:11 PM, Matej Knopp <matej.knopp at inmethod.com> wrote:
>> Hi,
>>
>> I've got a fairly simple pipeline that generates incorrect timestamps.
>>
>> mpegpsdemux -> mpegvideoparse
>>
>> mpegpsdmux gives no timestamps whatsoever, all timestamps are gnerated
>> by baseparse, however there are gaps in the timestamps because of
>> following code in gstbaseparse.c
>>
>>    /* move along with upstream timestamp (if any),
>>     * but interpolate in between */
>> timestamp = gst_adapter_prev_timestamp (parse->priv->adapter, NULL);
>>    if (GST_CLOCK_TIME_IS_VALID (timestamp) &&
>>        (parse->priv->prev_ts != timestamp)) {
>>      parse->priv->prev_ts = parse->priv->next_ts = timestamp;
>>    }
>>
>> now I'm not sure yet what's wrong with the stream (if anything) that
>> requires gstbaseparse to skip data but it doesn't seem right to try to
>> interpolate timestamps in videostream (even though it does work for
>> audio). Could anyone explain to me how this is supposed to work?
>>
>> Cheers,
>> Matej
>>
>


More information about the gstreamer-devel mailing list