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);
     }
 
-- 
2.1.0

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

Reply via email to