From d2d9168f9da9e298383f9f5f4119ace5b16d6875 Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Wed, 1 Mar 2023 14:47:22 +0000 Subject: [PATCH] Move Mp4MuxerMetadataTest into muxer module Changes include: 1. Move the test fine into muxer module. 2. Use dump file infra for test cases. 3. Add one additional test for adding float metadata. 4. Few improvements in the code. In next CL will remove Mp4 term from the file name as we are not using this term in test file names. PiperOrigin-RevId: 513222506 --- .../mp4_with_0_orientation.mp4.dump | 26 ++++++++++++ .../mp4_with_90_orientation.mp4.dump | 27 +++++++++++++ .../mp4_with_float_metadata.mp4.dump | 40 +++++++++++++++++++ .../muxerdumps/mp4_with_frame_rate.mp4.dump | 40 +++++++++++++++++++ .../muxerdumps/mp4_with_location.mp4.dump | 35 ++++++++++++++++ .../mp4_with_null_location.mp4.dump | 33 +++++++++++++++ .../mp4_with_string_metadata.mp4.dump | 40 +++++++++++++++++++ .../assets/muxerdumps/mp4_with_xmp.mp4.dump | 35 ++++++++++++++++ 8 files changed, 276 insertions(+) create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_location.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump create mode 100644 testdata/src/test/assets/muxerdumps/mp4_with_xmp.mp4.dump diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump new file mode 100644 index 0000000000..4c7c520cc0 --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_0_orientation.mp4.dump @@ -0,0 +1,26 @@ +seekMap: + isSeekable = true + duration = 0 + getPosition(0) = [[timeUs=0, position=44]] + getPosition(1) = [[timeUs=0, position=44]] + getPosition(0) = [[timeUs=0, position=44]] + getPosition(0) = [[timeUs=0, position=44]] +numberOfTracks = 1 +track 0: + total output bytes = 55 + sample count = 1 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.9B2BF3 + maxInputSize = 85 + width = 12 + height = 10 + initializationData: + data = length 24, hash 7F12E259 + data = length 5, hash 1B4D906 + sample 0: + time = 0 + flags = 536870913 + data = length 55, hash A481CEF4 +tracksEnded = true diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump new file mode 100644 index 0000000000..2a5ad0b955 --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_90_orientation.mp4.dump @@ -0,0 +1,27 @@ +seekMap: + isSeekable = true + duration = 0 + getPosition(0) = [[timeUs=0, position=44]] + getPosition(1) = [[timeUs=0, position=44]] + getPosition(0) = [[timeUs=0, position=44]] + getPosition(0) = [[timeUs=0, position=44]] +numberOfTracks = 1 +track 0: + total output bytes = 55 + sample count = 1 + format 0: + id = 1 + sampleMimeType = video/avc + codecs = avc1.9B2BF3 + maxInputSize = 85 + width = 12 + height = 10 + rotationDegrees = 90 + initializationData: + data = length 24, hash 7F12E259 + data = length 5, hash 1B4D906 + sample 0: + time = 0 + flags = 536870913 + data = length 55, hash A481CEF4 +tracksEnded = true diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump new file mode 100644 index 0000000000..55705bb18d --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_float_metadata.mp4.dump @@ -0,0 +1,40 @@ +ftyp (28 bytes): + Data = length 20, hash EF896440 +mdat (71 bytes): + Data = length 55, hash 6B19F4A7 +moov (764 bytes): + mvhd (108 bytes): + Data = length 100, hash A5ADE288 + meta (114 bytes): + hdlr (33 bytes): + Data = length 25, hash C39D0F5B + keys (37 bytes): + Data = length 29, hash 45F2DCDF + ilst (36 bytes): + Data = length 28, hash 2BFD5C32 + trak (534 bytes): + tkhd (92 bytes): + Data = length 84, hash C25E979A + mdia (434 bytes): + mdhd (32 bytes): + Data = length 24, hash 50217AD + hdlr (44 bytes): + Data = length 36, hash A0852FF2 + minf (350 bytes): + vmhd (20 bytes): + Data = length 12, hash EE830681 + dinf (36 bytes): + Data = length 28, hash D535436B + stbl (286 bytes): + stsd (158 bytes): + Data = length 150, hash 2AD095C5 + stts (24 bytes): + Data = length 16, hash E4FC6483 + stsz (24 bytes): + Data = length 16, hash 50B7F5B9 + stsc (28 bytes): + Data = length 20, hash 8F6E8285 + co64 (24 bytes): + Data = length 16, hash E4EE4D2E + stss (20 bytes): + Data = length 12, hash EE911E03 diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump new file mode 100644 index 0000000000..c87b866d6f --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_frame_rate.mp4.dump @@ -0,0 +1,40 @@ +ftyp (28 bytes): + Data = length 20, hash EF896440 +mdat (71 bytes): + Data = length 55, hash 6B19F4A7 +moov (774 bytes): + mvhd (108 bytes): + Data = length 100, hash A5ADE288 + meta (124 bytes): + hdlr (33 bytes): + Data = length 25, hash C39D0F5B + keys (47 bytes): + Data = length 39, hash 1747DBD0 + ilst (36 bytes): + Data = length 28, hash 2BFD1C61 + trak (534 bytes): + tkhd (92 bytes): + Data = length 84, hash C25E979A + mdia (434 bytes): + mdhd (32 bytes): + Data = length 24, hash 50217AD + hdlr (44 bytes): + Data = length 36, hash A0852FF2 + minf (350 bytes): + vmhd (20 bytes): + Data = length 12, hash EE830681 + dinf (36 bytes): + Data = length 28, hash D535436B + stbl (286 bytes): + stsd (158 bytes): + Data = length 150, hash 2AD095C5 + stts (24 bytes): + Data = length 16, hash E4FC6483 + stsz (24 bytes): + Data = length 16, hash 50B7F5B9 + stsc (28 bytes): + Data = length 20, hash 8F6E8285 + co64 (24 bytes): + Data = length 16, hash E4EE4D2E + stss (20 bytes): + Data = length 12, hash EE911E03 diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_location.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_location.mp4.dump new file mode 100644 index 0000000000..de34b09a2d --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_location.mp4.dump @@ -0,0 +1,35 @@ +ftyp (28 bytes): + Data = length 20, hash EF896440 +mdat (71 bytes): + Data = length 55, hash 6B19F4A7 +moov (688 bytes): + mvhd (108 bytes): + Data = length 100, hash A5ADE288 + udta (38 bytes): + Data = length 30, hash 25372BB9 + trak (534 bytes): + tkhd (92 bytes): + Data = length 84, hash C25E979A + mdia (434 bytes): + mdhd (32 bytes): + Data = length 24, hash 50217AD + hdlr (44 bytes): + Data = length 36, hash A0852FF2 + minf (350 bytes): + vmhd (20 bytes): + Data = length 12, hash EE830681 + dinf (36 bytes): + Data = length 28, hash D535436B + stbl (286 bytes): + stsd (158 bytes): + Data = length 150, hash 2AD095C5 + stts (24 bytes): + Data = length 16, hash E4FC6483 + stsz (24 bytes): + Data = length 16, hash 50B7F5B9 + stsc (28 bytes): + Data = length 20, hash 8F6E8285 + co64 (24 bytes): + Data = length 16, hash E4EE4D2E + stss (20 bytes): + Data = length 12, hash EE911E03 diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump new file mode 100644 index 0000000000..e4f7d0d0fc --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_null_location.mp4.dump @@ -0,0 +1,33 @@ +ftyp (28 bytes): + Data = length 20, hash EF896440 +mdat (71 bytes): + Data = length 55, hash 6B19F4A7 +moov (650 bytes): + mvhd (108 bytes): + Data = length 100, hash A5ADE288 + trak (534 bytes): + tkhd (92 bytes): + Data = length 84, hash C25E979A + mdia (434 bytes): + mdhd (32 bytes): + Data = length 24, hash 50217AD + hdlr (44 bytes): + Data = length 36, hash A0852FF2 + minf (350 bytes): + vmhd (20 bytes): + Data = length 12, hash EE830681 + dinf (36 bytes): + Data = length 28, hash D535436B + stbl (286 bytes): + stsd (158 bytes): + Data = length 150, hash 2AD095C5 + stts (24 bytes): + Data = length 16, hash E4FC6483 + stsz (24 bytes): + Data = length 16, hash 50B7F5B9 + stsc (28 bytes): + Data = length 20, hash 8F6E8285 + co64 (24 bytes): + Data = length 16, hash E4EE4D2E + stss (20 bytes): + Data = length 12, hash EE911E03 diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump new file mode 100644 index 0000000000..fd86685c6e --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_string_metadata.mp4.dump @@ -0,0 +1,40 @@ +ftyp (28 bytes): + Data = length 20, hash EF896440 +mdat (71 bytes): + Data = length 55, hash 6B19F4A7 +moov (778 bytes): + mvhd (108 bytes): + Data = length 100, hash A5ADE288 + meta (128 bytes): + hdlr (33 bytes): + Data = length 25, hash C39D0F5B + keys (37 bytes): + Data = length 29, hash 45F2DCDF + ilst (50 bytes): + Data = length 42, hash F4AA183B + trak (534 bytes): + tkhd (92 bytes): + Data = length 84, hash C25E979A + mdia (434 bytes): + mdhd (32 bytes): + Data = length 24, hash 50217AD + hdlr (44 bytes): + Data = length 36, hash A0852FF2 + minf (350 bytes): + vmhd (20 bytes): + Data = length 12, hash EE830681 + dinf (36 bytes): + Data = length 28, hash D535436B + stbl (286 bytes): + stsd (158 bytes): + Data = length 150, hash 2AD095C5 + stts (24 bytes): + Data = length 16, hash E4FC6483 + stsz (24 bytes): + Data = length 16, hash 50B7F5B9 + stsc (28 bytes): + Data = length 20, hash 8F6E8285 + co64 (24 bytes): + Data = length 16, hash E4EE4D2E + stss (20 bytes): + Data = length 12, hash EE911E03 diff --git a/testdata/src/test/assets/muxerdumps/mp4_with_xmp.mp4.dump b/testdata/src/test/assets/muxerdumps/mp4_with_xmp.mp4.dump new file mode 100644 index 0000000000..a467f0d716 --- /dev/null +++ b/testdata/src/test/assets/muxerdumps/mp4_with_xmp.mp4.dump @@ -0,0 +1,35 @@ +ftyp (28 bytes): + Data = length 20, hash EF896440 +mdat (71 bytes): + Data = length 55, hash 6B19F4A7 +moov (650 bytes): + mvhd (108 bytes): + Data = length 100, hash A5ADE288 + trak (534 bytes): + tkhd (92 bytes): + Data = length 84, hash C25E979A + mdia (434 bytes): + mdhd (32 bytes): + Data = length 24, hash 50217AD + hdlr (44 bytes): + Data = length 36, hash A0852FF2 + minf (350 bytes): + vmhd (20 bytes): + Data = length 12, hash EE830681 + dinf (36 bytes): + Data = length 28, hash D535436B + stbl (286 bytes): + stsd (158 bytes): + Data = length 150, hash 2AD095C5 + stts (24 bytes): + Data = length 16, hash E4FC6483 + stsz (24 bytes): + Data = length 16, hash 50B7F5B9 + stsc (28 bytes): + Data = length 20, hash 8F6E8285 + co64 (24 bytes): + Data = length 16, hash E4EE4D2E + stss (20 bytes): + Data = length 12, hash EE911E03 +uuid (2853 bytes): + Data = length 2845, hash 52AF0F9D