On 03/21/2015 06:30 AM, wm4 wrote:
> On Fri, 20 Mar 2015 16:47:57 -0600
> John Stebbins <[email protected]> wrote:
>
>> Some subtitles (e.g. PGS) do not require a duration since they have
>> explicit end-of-subtitle indication in the stream.  This provides
>> a way to omit the unnecessary duration while muxing.
>> ---
>>  libavformat/matroskaenc.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
>> index 49e5bf3..1dd8d74 100644
>> --- a/libavformat/matroskaenc.c
>> +++ b/libavformat/matroskaenc.c
>> @@ -1524,7 +1524,8 @@ static int mkv_write_packet_internal(AVFormatContext 
>> *s, AVPacket *pkt)
>>                                                     
>> mkv_blockgroup_size(pkt->size));
>>          duration = pkt->convergence_duration;
>>          mkv_write_block(s, pb, MATROSKA_ID_BLOCK, pkt, 0);
>> -        put_ebml_uint(pb, MATROSKA_ID_BLOCKDURATION, duration);
>> +        if (pkt->convergence_duration != AV_NOPTS_VALUE)
>> +            put_ebml_uint(pb, MATROSKA_ID_BLOCKDURATION, duration);
>>          end_ebml_master(pb, blockgroup);
>>      }
>>  
> It's weird that it checks convergence_duration when writing duration. I
> also wasn't aware that convergence_duration can be set to AV_NOPTS_VALUE
> to signal that it's unset. Isn't 0 the value for unset duration? (The
> API can't distinguish between 0 duration and unset duration, this is a
> known problem.)
>

If you recall, a while back I proposed a patch that used 0 for unset.  I'm just 
(finally) following up on that thread. 
Your response was this:
https://lists.libav.org/pipermail/libav-devel/2014-October/064418.html

You didn't think using 0 for this was a good idea because even mkvmerge wrote 0 
for block duration despite the
discrepancy with the "matroska spec".  As for AV_NOPTS_VALUE and 
convergence_duration, avcodec.h says "Is AV_NOPTS_VALUE
if unknown"


-- 
John      GnuPG fingerprint: D0EC B3DB C372 D1F1 0B01  83F0 49F1 D7B2 60D4 D0F7


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to