]> git.sesse.net Git - ffmpeg/commitdiff
fate/matroska: Add test for zero-length Block
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 25 Apr 2020 01:18:03 +0000 (03:18 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Mon, 15 Feb 2021 20:48:22 +0000 (21:48 +0100)
It furthermore tests the demuxer's handling of chained SeekHeads,
level 1-elements after the Clusters and the muxer's capability of
writing huge TrackNumbers as well as expanding the Cues' length field
by one byte if necessary to fill the reserved space. It also tests
propagation of metadata.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
tests/fate/matroska.mak
tests/ref/fate/matroska-zero-length-block [new file with mode: 0644]

index 17fbf466537dc91b6e53f5c97d426e270eb8d405..30e38d30948e7498d5bd8a57c8e64cb8d8f65b84 100644 (file)
@@ -57,6 +57,16 @@ FATE_MATROSKA_FFMPEG_FFPROBE-$(call ALLYES, MATROSKA_DEMUXER OGG_DEMUXER  \
                                += fate-webm-dash-chapters
 fate-webm-dash-chapters: CMD = transcode ogg $(TARGET_SAMPLES)/vorbis/vorbis_chapter_extension_demo.ogg webm "-c copy -cluster_time_limit 1500 -dash 1 -dash_track_number 124 -reserve_index_space 400" "-c copy -t 0.5" "" -show_chapters
 
+# The input file has a Block whose payload has a size of zero before reversing
+# header removal compression; it furthermore uses chained SeekHeads and has
+# level 1-elements after the Cluster. This is tested on the demuxer's side.
+# For the muxer this tests that it can correctly write huge TrackNumbers and
+# that it can expand the Cues element's length field by one byte if necessary.
+# It furthermore tests correct propagation of the description tag.
+FATE_MATROSKA_FFMPEG_FFPROBE-$(call DEMMUX, MATROSKA, MATROSKA) \
+                               += fate-matroska-zero-length-block
+fate-matroska-zero-length-block: CMD = transcode matroska $(TARGET_SAMPLES)/mkv/zero_length_block.mks matroska "-c:s copy -dash 1 -dash_track_number 2000000000 -reserve_index_space 62 -metadata_header_padding 1" "-c:s copy" "" "-show_entries stream_tags=description"
+
 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-zero-length-block b/tests/ref/fate/matroska-zero-length-block
new file mode 100644 (file)
index 0000000..e8c5dec
--- /dev/null
@@ -0,0 +1,10 @@
+ba78b3e846d57002711bc481fa806717 *tests/data/fate/matroska-zero-length-block.matroska
+643 tests/data/fate/matroska-zero-length-block.matroska
+#tb 0: 1/1000
+#media_type 0: subtitle
+#codec_id 0: subrip
+0,       1000,       1000,     2000,        5, 0x05b801df
+0,       3300,       3300,     3700,       16, 0x300705b2
+[STREAM]
+TAG:DESCRIPTION=This track uses header removal compression and has a Block of size zero before reversing it.
+[/STREAM]