oggdemux

Neil Jones neiljay at gmail.com
Fri Jan 27 07:15:00 PST 2012


Thanks that makes sense.

On Fri, Jan 27, 2012 at 2:22 PM, Wim Taymans <wim.taymans at gmail.com> wrote:
> On 01/27/2012 01:18 PM, Neil Jones wrote:
>>
>> Hi,
>>
>> I'm currently trying to test my multi-format audio decoder plugin with
>> Ogg Vorbis files, specifically I've been checking to confirm I'm
>> putting the correct timestamps into the PCM buffers I forward on to
>> the sink.
>>
>> Im am seeing some odd behaviour the first 4 buffers sent to me dont
>> have valid timestamps:
>>
>> gstaxd: Chaining buffer of size 30 timestamp -1 duration -1
>> gstaxd: Chaining buffer of size 158 timestamp -1 duration -1
>> gstaxd: Chaining buffer of size 2888 timestamp -1 duration -1
>> gstaxd: Chaining buffer of size 55 timestamp 0 duration 0
>> gstaxd: Chaining buffer of size 51 timestamp 0 duration 2902494
>> gstaxd: Chaining buffer of size 328 timestamp 2902494 duration 13061224
>> gstaxd: Chaining buffer of size 50 timestamp 15963718 duration 13061225
>> gstaxd: Chaining buffer of size 50 timestamp 29024943 duration 2902494
>>
>> why would the first buffers have no timestamps are these header frame
>> or id tags ? if so why hasn't oggdemux stripped these ? and why do I
>> get a buffer of 0 duration but is still 55 bytes big ?
>
>
> The first 3 packets are headers to setup the vorbis decoder, not sending
> them would mean that the decoder can't work. The 4th packet contains samples
> but does not produce any output so has a 0 duration.
>
> Wim
>>
>>
>> If i get a buffer with a timestamp of none I read a fixed amount of
>> data from the decoder (input buffer size x 4) then try to interpolate
>> the time stamps based on the sample rate of the PCM data, thus with
>> this stream I get a discontinutiy with my outgoing buffer timestamps
>> (as seen at the sink):
>>
>>
>> Setting pipeline to PLAYING ...
>> fakesink0: last-message = "chain   *******<  (  120 bytes, timestamp:
>> 0:00:00.000000000, duration: 0:00:00.000312500,
>> GST_STATE_CHANGE_PAUSED_TO_PLAYING
>> fakesink0: last-message = "chain   *******<  (  632 bytes, timestamp:
>> 0:00:00.000312500, duration: 0:00:00.001645833,
>> New clock: GstSystemClock
>> fakesink0: last-message = "chain   *******<  (11552 bytes, timestamp:
>> 0:00:00.001958333, duration: 0:00:00.030083333,
>> fakesink0: last-message = "chain   *******<  (    0 bytes, timestamp:
>> 0:00:00.000000000, duration: 0:00:00.000000000,      ***
>> discontinutity ***
>> fakesink0: last-message = "chain   *******<  ( 1114 bytes, timestamp:
>> 0:00:00.000000000, duration: 0:00:00.002902494,
>> fakesink0: last-message = "chain   *******<  ( 5015 bytes, timestamp:
>> 0:00:00.002902494, duration: 0:00:00.013061224,
>> fakesink0: last-message = "chain   *******<  ( 5015 bytes, timestamp:
>> 0:00:00.015963718, duration: 0:00:00.013061225,
>> fakesink0: last-message = "chain   *******<  ( 1114 bytes, timestamp:
>> 0:00:00.029024943, duration: 0:00:00.002902494,
>>
>> my pipeline is: gst-launch -v filesrc location=/home/08_Poison.ogg   !
>> typefind ! oggdemux ! axd ! fakesink
>>
>> Any help appreciated,
>>
>> Cheers
>>
>> Neil
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list