diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak index ebd95ced04..b49ec761cf 100644 --- a/tests/fate/matroska.mak +++ b/tests/fate/matroska.mak @@ -171,6 +171,16 @@ fate-matroska-pgs-remux: CMD = transcode sup $(TARGET_SAMPLES)/sub/pgs_sub.sup m FATE_MATROSKA-$(call REMUX, MATROSKA, SUP_DEMUXER PGS_FRAME_MERGE_BSF SETTS_BSF) += fate-matroska-pgs-remux-durations fate-matroska-pgs-remux-durations: CMD = transcode sup $(TARGET_SAMPLES)/sub/pgs_sub.sup matroska "-copyts -c:s copy -bsf pgs_frame_merge,setts=duration=if(gt(DURATION\,0)\,DURATION\,if(eq(PTS\,NOPTS)\,0\,if(eq(NEXT_PTS\,NOPTS)\,0\,NEXT_PTS-PTS))):pts=PTS" "-copyts -c:s copy" +# This test muxes DVB subtitles twice into Matroska: Once normally +# and once with durations derived via the setts filter. Said filter +# sets the duration for every packet except the last it receives. +# The "-t 20" also tests that the BSF is properly flushed even +# when processing ended due to something else than the input's EOF. +# Notice that the last packet of stream 0 before 20s is present, +# but has no duration (like stream 1). +FATE_MATROSKA-$(call REMUX, MATROSKA, MPEGTS_DEMUXER DVBSUB_PARSER SETTS_BSF) += fate-matroska-dvbsub-remux +fate-matroska-dvbsub-remux: CMD = transcode mpegts $(TARGET_SAMPLES)/sub/dvbsubtest_filter.ts matroska "-map 0:s -map 0:s -t 20 -c copy -bsf:0 setts=duration=if(gt(DURATION\,0)\,DURATION\,if(eq(PTS\,NOPTS)\,0\,if(eq(NEXT_PTS\,NOPTS)\,0\,NEXT_PTS-PTS))):pts=PTS" "-map 0 -c copy" + FATE_MATROSKA_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER) += fate-matroska-spherical-mono fate-matroska-spherical-mono: CMD = run ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream_side_data_list -select_streams v -v 0 $(TARGET_SAMPLES)/mkv/spherical.mkv diff --git a/tests/ref/fate/matroska-dvbsub-remux b/tests/ref/fate/matroska-dvbsub-remux new file mode 100644 index 0000000000..7c543e5a7d --- /dev/null +++ b/tests/ref/fate/matroska-dvbsub-remux @@ -0,0 +1,52 @@ +e675d3a76a4720f3e65bf56ec6041fe1 *tests/data/fate/matroska-dvbsub-remux.matroska +39025 tests/data/fate/matroska-dvbsub-remux.matroska +#extradata 0: 5, 0x00bb0064 +#extradata 1: 5, 0x00bb0064 +#tb 0: 1/1000 +#media_type 0: subtitle +#codec_id 0: dvb_subtitle +#tb 1: 1/1000 +#media_type 1: subtitle +#codec_id 1: dvb_subtitle +0, 0, 0, 280, 14, 0x05f400e1 +1, 0, 0, 0, 14, 0x05f400e1 +0, 280, 280, 5000, 14, 0x066400f1 +1, 280, 280, 0, 14, 0x066400f1 +0, 5280, 5280, 5020, 14, 0x06d40101 +1, 5280, 5280, 0, 14, 0x06d40101 +0, 10300, 10300, 3600, 14, 0x07440111 +1, 10300, 10300, 0, 14, 0x07440111 +0, 13900, 13900, 220, 14, 0x07b40121 +1, 13900, 13900, 0, 14, 0x07b40121 +0, 14120, 14120, 1440, 14, 0x08240131 +1, 14120, 14120, 0, 14, 0x08240131 +0, 15560, 15560, 40, 14, 0x08940141 +1, 15560, 15560, 0, 14, 0x08940141 +0, 15600, 15600, 160, 944, 0x454c0939 +1, 15600, 15600, 0, 944, 0x454c0939 +0, 15760, 15760, 240, 630, 0x49dbb35f +1, 15760, 15760, 0, 630, 0x49dbb35f +0, 16000, 16000, 340, 344, 0xb1eb63ed +1, 16000, 16000, 0, 344, 0xb1eb63ed +0, 16340, 16340, 600, 966, 0xb8a61edf +1, 16340, 16340, 0, 966, 0xb8a61edf +0, 16940, 16940, 460, 470, 0x80597fba +1, 16940, 16940, 0, 470, 0x80597fba +0, 17400, 17400, 360, 1212, 0x554768d6 +1, 17400, 17400, 0, 1212, 0x554768d6 +0, 17760, 17760, 220, 4804, 0xab67ddbe +1, 17760, 17760, 0, 4804, 0xab67ddbe +0, 17980, 17980, 960, 1016, 0x15e42d56 +1, 17980, 17980, 0, 1016, 0x15e42d56 +0, 18940, 18940, 220, 456, 0x57917e6f +1, 18940, 18940, 0, 456, 0x57917e6f +0, 19160, 19160, 260, 830, 0xcff3efde +1, 19160, 19160, 0, 830, 0xcff3efde +0, 19420, 19420, 100, 860, 0xd89903b6 +1, 19420, 19420, 0, 860, 0xd89903b6 +0, 19520, 19520, 220, 4426, 0x01eb43f1 +1, 19520, 19520, 0, 4426, 0x01eb43f1 +0, 19740, 19740, 220, 1132, 0xedda51a8 +1, 19740, 19740, 0, 1132, 0xedda51a8 +0, 19960, 19960, 0, 466, 0x9c957e09 +1, 19960, 19960, 0, 466, 0x9c957e09