[prev in list] [next in list] [prev in thread] [next in thread]
List: xine-devel
Subject: Re: [xine-devel] Re: [xine-cvs] CVS: xine-lib/src/liba52 xine_decoder.c,1.61,1.62
From: James Courtier-Dutton <James () superbug ! demon ! co ! uk>
Date: 2003-11-17 21:23:25
[Download RAW message or body]
Michael Roitzsch wrote:
> Hi James,
>
>
>>If you think about this more, you will see that one can use either
>>variable. I just choose the first one. decoder_info[1]
>>If info[1]=1, PTS = PTS for the a52 frame that starts in this fifo
>>block. (aka.this a52 frame)
>>If info[2]=2, PTS = PTS for this a52 frame, and PTS=0 for next a52
>>frame.
>
>
> Ok, so I think the correct code in liba52 to fill PTS list would be
> something like this:
>
> Replace this:
>
> /* FIXME: the code here does not match the explanation above */
> if (buf->pts) {
> int32_t info;
> info = buf->decoder_info[1];
> this->pts = buf->pts;
> this->pts_list[this->pts_list_position]=buf->pts;
> this->pts_list_position++;
> if( this->pts_list_position > 3 )
> this->pts_list_position = 3;
> if (info == 2) {
> this->pts_list[this->pts_list_position]=0;
> this->pts_list_position++;
> if( this->pts_list_position > 3 )
> this->pts_list_position = 3;
> }
> }
>
> with this:
>
> pts = buf->pts;
> for (i = buf->decoder_info[1]; i > 0; i--) {
> if (this->pts_list_position < 5)
> this->pts_list[this->pts_list_position++] = pts;
> else
> XINE_ASSERT(0, "PTS fifo overflow");
> pts = 0;
> }
>
> Does this look correct?
Hum? Both versions of code do the same thing, so what exactly is the
reason to change it? Or have I missed something, and your code it doing
something differently?
>
>
>>I have been thinking about the possiblility of moving liba52 sync
>>code into the demuxer. Just forcing the demuxer to always output
>>complete A52 frames and deal with the PTS value in the demuxer
>>instead.
>
>
> You know that there are 6 demuxer capable of outputting A52 and this
> number could still grow. That would be a lot of redundant code. I think
> this should be encapsulated on the decoder side. Decoders should never
> assume a certain buffer fragmentation they like.
>
> Michael
>
Ok, I will only put it in demux_ts.c then.
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
xine-devel mailing list
xine-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic