Skip to content

Commit

Permalink
Java treats "ftyp" with unknown 4CC as QuickTime
Browse files Browse the repository at this point in the history
  • Loading branch information
drewnoakes committed Oct 25, 2020
1 parent 89a6828 commit 1f9c3fe
Show file tree
Hide file tree
Showing 6 changed files with 268 additions and 50 deletions.
50 changes: 36 additions & 14 deletions 3gp/metadata/diff/sample.3gp.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
FILE: sample.3gp
JAVA TYPE: UNKNOWN
DOTNET TYPE: QUICKTIME
DOTNET
TYPE: QUICKTIME

JAVA [ERROR: QuickTime] End of data reached.
JAVA [ERROR: QuickTime] End of data reached.
JAVA [ERROR: QuickTime] End of data reached.
DOTNET [QuickTime File Type - 0x0001] Major Brand = 3gp5
DOTNET [QuickTime File Type - 0x0002] Minor Version = 256
DOTNET [QuickTime File Type - 0x0003] Compatible Brands = 3gp5, 3gp4
Expand Down Expand Up @@ -35,7 +37,20 @@ DOTNET [QuickTime Track Header - 0x0009] Volume = 1
DOTNET [QuickTime Track Header - 0x000c] Matrix = 1 0 0 0 1 0 0 0 1
DOTNET [QuickTime Track Header - 0x000a] Width = 0
DOTNET [QuickTime Track Header - 0x000b] Height = 0
DOTNET

JAVA [QuickTime - 0x1000] Major Brand = 3GPP Media (.3GP) Release 5
JAVA [QuickTime - 0x1001] Minor Version = 256
JAVA [QuickTime - 0x1002] Compatible Brands = [3GPP Media (.3GP) Release 5, 3GPP Media (.3GP) Release 4]
JAVA [QuickTime - 0x0100] Creation Time = Sat Oct 29 03:36:40 +10:00 2005
JAVA [QuickTime - 0x0101] Modification Time = Sat Oct 29 03:36:40 +10:00 2005
JAVA [QuickTime - 0x0103] Duration = 2960
JAVA [QuickTime - 0x0102] Media Time Scale = 600
JAVA [QuickTime - 0x0104] Duration in Seconds = 00:00:05
JAVA [QuickTime - 0x0105] Preferred Rate = 1
JAVA [QuickTime - 0x0106] Preferred Volume = 1
JAVA [QuickTime - 0x0107] Preview Time = 0
JAVA [QuickTime - 0x0108] Preview Duration = 0
JAVA [QuickTime - 0x0109] Poster Time = 0
DOTNET [QuickTime Track Header - 0x0001] Version = 0
DOTNET [QuickTime Track Header - 0x0002] Flags = 0 0 1
DOTNET [QuickTime Track Header - 0x0003] Created = Fri Oct 28 17:36:40 2005
Expand All @@ -49,23 +64,30 @@ DOTNET [QuickTime Track Header - 0x000c] Matrix = 1 0 0 0 1 0 0 0 1
DOTNET [QuickTime Track Header - 0x000a] Width = 176
DOTNET [QuickTime Track Header - 0x000b] Height = 144
DOTNET [QuickTime Track Header - 0x000d] Rotation = 0
DOTNET
JAVA [QuickTime - 0x010a] Selection Time = 0
JAVA [QuickTime - 0x010b] Selection Duration = 0
JAVA [QuickTime - 0x010c] Current Time = 0
JAVA [QuickTime - 0x010d] Next Track ID = 3
JAVA [QuickTime - 0x010e] Rotation = 0

JAVA [File Type - 0x0001] Detected File Type Name = MOV
JAVA [File Type - 0x0002] Detected File Type Long Name = QuickTime Movie
DOTNET [File Type - 0x0001] Detected File Type Name = QuickTime
DOTNET [File Type - 0x0002] Detected File Type Long Name = QuickTime
DOTNET [File Type - 0x0003] Detected MIME Type = video/quicktime
DOTNET [File Type - 0x0004] Expected File Name Extension = mov
[File Type - 0x0003] Detected MIME Type = video/quicktime
[File Type - 0x0004] Expected File Name Extension = mov

JAVA EXCEPTION: File format could not be determined
DOTNET [File - 0x0001] File Name = sample.3gp
DOTNET [File - 0x0002] File Size = 28561 bytes
DOTNET [File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>
DOTNET
[File - 0x0001] File Name = sample.3gp
[File - 0x0002] File Size = 28561 bytes
[File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>
JAVA - QuickTime
DOTNET - QuickTime File Type
DOTNET - QuickTime Movie Header
DOTNET - QuickTime Track Header
DOTNET - QuickTime Track Header
DOTNET - File Type
DOTNET - File
- File Type
- File

Generated using metadata-extractor
https://drewnoakes.com/code/exif/
Expand Down
38 changes: 36 additions & 2 deletions 3gp/metadata/java/sample.3gp.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,41 @@
FILE: sample.3gp
TYPE: UNKNOWN
TYPE: QUICKTIME

EXCEPTION: File format could not be determined
[ERROR: QuickTime] End of data reached.
[ERROR: QuickTime] End of data reached.
[ERROR: QuickTime] End of data reached.

[QuickTime - 0x1000] Major Brand = 3GPP Media (.3GP) Release 5
[QuickTime - 0x1001] Minor Version = 256
[QuickTime - 0x1002] Compatible Brands = [3GPP Media (.3GP) Release 5, 3GPP Media (.3GP) Release 4]
[QuickTime - 0x0100] Creation Time = Sat Oct 29 03:36:40 +10:00 2005
[QuickTime - 0x0101] Modification Time = Sat Oct 29 03:36:40 +10:00 2005
[QuickTime - 0x0103] Duration = 2960
[QuickTime - 0x0102] Media Time Scale = 600
[QuickTime - 0x0104] Duration in Seconds = 00:00:05
[QuickTime - 0x0105] Preferred Rate = 1
[QuickTime - 0x0106] Preferred Volume = 1
[QuickTime - 0x0107] Preview Time = 0
[QuickTime - 0x0108] Preview Duration = 0
[QuickTime - 0x0109] Poster Time = 0
[QuickTime - 0x010a] Selection Time = 0
[QuickTime - 0x010b] Selection Duration = 0
[QuickTime - 0x010c] Current Time = 0
[QuickTime - 0x010d] Next Track ID = 3
[QuickTime - 0x010e] Rotation = 0

[File Type - 0x0001] Detected File Type Name = MOV
[File Type - 0x0002] Detected File Type Long Name = QuickTime Movie
[File Type - 0x0003] Detected MIME Type = video/quicktime
[File Type - 0x0004] Expected File Name Extension = mov

[File - 0x0001] File Name = sample.3gp
[File - 0x0002] File Size = 28561 bytes
[File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>

- QuickTime
- File Type
- File

Generated using metadata-extractor
https://drewnoakes.com/code/exif/
52 changes: 38 additions & 14 deletions mp4/metadata/diff/Sony ILCE-7M3 (A7M3).mp4.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
FILE: Sony ILCE-7M3 (A7M3).mp4
JAVA TYPE: UNKNOWN
DOTNET TYPE: QUICKTIME
DOTNET
TYPE: QUICKTIME

JAVA [ERROR: QuickTime] End of data reached.
JAVA [ERROR: QuickTime] End of data reached.
JAVA [ERROR: QuickTime] End of data reached.
JAVA [ERROR: QuickTime] End of data reached.
JAVA [ERROR: QuickTime] End of data reached.
DOTNET [QuickTime File Type - 0x0001] Major Brand = XAVC
DOTNET [QuickTime File Type - 0x0002] Minor Version = 16785407
DOTNET [QuickTime File Type - 0x0003] Compatible Brands = XAVC, mp42, iso2
Expand Down Expand Up @@ -49,7 +53,19 @@ DOTNET [QuickTime Track Header - 0x0009] Volume = 1
DOTNET [QuickTime Track Header - 0x000c] Matrix = 1 0 0 0 1 0 0 0 1
DOTNET [QuickTime Track Header - 0x000a] Width = 0
DOTNET [QuickTime Track Header - 0x000b] Height = 0
DOTNET

JAVA [QuickTime - 0x1000] Major Brand = Unknown
JAVA [QuickTime - 0x1001] Minor Version = 16785407
JAVA [QuickTime - 0x1002] Compatible Brands = [Unknown, MP4 v2 [ISO 14496-14], MP4 Base Media v2 [ISO 14496-12:2005]]
JAVA [QuickTime - 0x0100] Creation Time = Thu Apr 25 06:23:16 +10:00 2019
JAVA [QuickTime - 0x0101] Modification Time = Thu Apr 25 06:23:16 +10:00 2019
JAVA [QuickTime - 0x0103] Duration = 43200
JAVA [QuickTime - 0x0102] Media Time Scale = 90000
JAVA [QuickTime - 0x0104] Duration in Seconds = 00:00:01
JAVA [QuickTime - 0x0105] Preferred Rate = 1
JAVA [QuickTime - 0x0106] Preferred Volume = 1
JAVA [QuickTime - 0x0107] Preview Time = 0
JAVA [QuickTime - 0x0108] Preview Duration = 0
DOTNET [QuickTime Track Header - 0x0001] Version = 0
DOTNET [QuickTime Track Header - 0x0002] Flags = 0 0 7
DOTNET [QuickTime Track Header - 0x0003] Created = Wed Apr 24 20:23:16 2019
Expand All @@ -62,24 +78,32 @@ DOTNET [QuickTime Track Header - 0x0009] Volume = 0
DOTNET [QuickTime Track Header - 0x000c] Matrix = 1 0 0 0 1 0 0 0 1
DOTNET [QuickTime Track Header - 0x000a] Width = 0
DOTNET [QuickTime Track Header - 0x000b] Height = 0
DOTNET
JAVA [QuickTime - 0x0109] Poster Time = 0
JAVA [QuickTime - 0x010a] Selection Time = 0
JAVA [QuickTime - 0x010b] Selection Duration = 0
JAVA [QuickTime - 0x010c] Current Time = 0
JAVA [QuickTime - 0x010d] Next Track ID = 4
JAVA [QuickTime - 0x010e] Rotation = 0

JAVA [File Type - 0x0001] Detected File Type Name = MOV
JAVA [File Type - 0x0002] Detected File Type Long Name = QuickTime Movie
DOTNET [File Type - 0x0001] Detected File Type Name = QuickTime
DOTNET [File Type - 0x0002] Detected File Type Long Name = QuickTime
DOTNET [File Type - 0x0003] Detected MIME Type = video/quicktime
DOTNET [File Type - 0x0004] Expected File Name Extension = mov
DOTNET
DOTNET [File - 0x0001] File Name = Sony ILCE-7M3 (A7M3).mp4
DOTNET [File - 0x0002] File Size = 4197914 bytes
DOTNET [File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>
[File Type - 0x0003] Detected MIME Type = video/quicktime
[File Type - 0x0004] Expected File Name Extension = mov
[File - 0x0001] File Name = Sony ILCE-7M3 (A7M3).mp4
[File - 0x0002] File Size = 4197914 bytes
[File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>

JAVA EXCEPTION: File format could not be determined
JAVA - QuickTime
DOTNET - QuickTime File Type
DOTNET - QuickTime Movie Header
DOTNET - QuickTime Track Header
DOTNET - QuickTime Track Header
DOTNET - QuickTime Track Header
DOTNET - File Type
DOTNET - File
- File Type
- File

Generated using metadata-extractor
https://drewnoakes.com/code/exif/
Expand Down
76 changes: 60 additions & 16 deletions mp4/metadata/diff/ftyp3gp5.mp4.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FILE: ftyp3gp5.mp4
JAVA TYPE: UNKNOWN
DOTNET TYPE: QUICKTIME
DOTNET
TYPE: QUICKTIME
JAVA [ERROR: QuickTime] End of data reached.
DOTNET [QuickTime File Type - 0x0001] Major Brand = 3gp5
DOTNET [QuickTime File Type - 0x0002] Minor Version = 0
DOTNET [QuickTime File Type - 0x0003] Compatible Brands = 3gp5, isom
Expand All @@ -22,7 +22,20 @@ DOTNET [QuickTime Movie Header - 0x000d] Selection Time = 0
DOTNET [QuickTime Movie Header - 0x000e] Selection Duration = 0
DOTNET [QuickTime Movie Header - 0x000f] Current Time = 0
DOTNET [QuickTime Movie Header - 0x0010] Next Track Id = 65738
DOTNET

JAVA [QuickTime - 0x1000] Major Brand = 3GPP Media (.3GP) Release 5
JAVA [QuickTime - 0x1001] Minor Version = 0
JAVA [QuickTime - 0x1002] Compatible Brands = [3GPP Media (.3GP) Release 5, MP4  Base Media v1 [IS0 14496-12:2003]]
JAVA [QuickTime - 0x0100] Creation Time = Sat Oct 24 07:27:29 +11:00 2020
JAVA [QuickTime - 0x0101] Modification Time = Sat Oct 24 07:27:29 +11:00 2020
JAVA [QuickTime - 0x0103] Duration = 1300
JAVA [QuickTime - 0x0102] Media Time Scale = 1000
JAVA [QuickTime - 0x0104] Duration in Seconds = 00:00:02
JAVA [QuickTime - 0x0105] Preferred Rate = 1
JAVA [QuickTime - 0x0106] Preferred Volume = 1
JAVA [QuickTime - 0x0107] Preview Time = 0
JAVA [QuickTime - 0x0108] Preview Duration = 0
JAVA [QuickTime - 0x0109] Poster Time = 0
DOTNET [QuickTime Track Header - 0x0001] Version = 0
DOTNET [QuickTime Track Header - 0x0002] Flags = 0 0 1
DOTNET [QuickTime Track Header - 0x0003] Created = Fri Oct 23 20:27:29 2020
Expand All @@ -36,7 +49,24 @@ DOTNET [QuickTime Track Header - 0x000c] Matrix = 0 1 0 -1 0 0 0 0 1
DOTNET [QuickTime Track Header - 0x000a] Width = 1280
DOTNET [QuickTime Track Header - 0x000b] Height = 720
DOTNET [QuickTime Track Header - 0x000d] Rotation = 90
DOTNET
JAVA [QuickTime - 0x010a] Selection Time = 0
JAVA [QuickTime - 0x010b] Selection Duration = 0
JAVA [QuickTime - 0x010c] Current Time = 0
JAVA [QuickTime - 0x010d] Next Track ID = 65738
JAVA [QuickTime - 0x010e] Rotation = -90

JAVA [QuickTime Video - 0x5001] Creation Time = Sat Oct 24 07:27:29 +11:00 2020
JAVA [QuickTime Video - 0x5002] Modification Time = Sat Oct 24 07:27:29 +11:00 2020
JAVA [QuickTime Video - 0x000c] Opcolor = 0 0 0
JAVA [QuickTime Video - 0x000b] Graphics Mode = Copy
JAVA [QuickTime Video - 0x0001] Vendor = Unknown
JAVA [QuickTime Video - 0x000a] Compression Type = H.264
JAVA [QuickTime Video - 0x0002] Temporal Quality = 0
JAVA [QuickTime Video - 0x0003] Spatial Quality = 0
JAVA [QuickTime Video - 0x0004] Width = 1280 pixels
JAVA [QuickTime Video - 0x0005] Height = 720 pixels
JAVA [QuickTime Video - 0x0009] Depth = 24-bit color
JAVA [QuickTime Video - 0x000d] Color Table = None
DOTNET [QuickTime Track Header - 0x0001] Version = 0
DOTNET [QuickTime Track Header - 0x0002] Flags = 0 0 1
DOTNET [QuickTime Track Header - 0x0003] Created = Fri Oct 23 20:27:29 2020
Expand All @@ -49,26 +79,40 @@ DOTNET [QuickTime Track Header - 0x0009] Volume = 1
DOTNET [QuickTime Track Header - 0x000c] Matrix = 1 0 0 0 1 0 0 0 1
DOTNET [QuickTime Track Header - 0x000a] Width = 0
DOTNET [QuickTime Track Header - 0x000b] Height = 0
DOTNET
JAVA [QuickTime Video - 0x0006] Horizontal Resolution = 72
JAVA [QuickTime Video - 0x0007] Vertical Resolution = 72
JAVA [QuickTime Video - 0x000e] Frame Rate = 30.303

JAVA [QuickTime Sound - 0x5001] Creation Time = Sat Oct 24 07:27:29 +11:00 2020
DOTNET [QuickTime Metadata Header - 0x000e] GPS Location = +00.0000+000.0000/
DOTNET
JAVA [QuickTime Sound - 0x5002] Modification Time = Sat Oct 24 07:27:29 +11:00 2020
JAVA [QuickTime Sound - 0x0305] Balance = 0
JAVA [QuickTime Sound - 0x0301] Format = MPEG-4, Advanced Audio Coding (AAC)
JAVA [QuickTime Sound - 0x0302] Number of Channels = 2
JAVA [QuickTime Sound - 0x0303] Sample Size = 16
JAVA [QuickTime Sound - 0x0304] Sample Rate = 48000

JAVA [File Type - 0x0001] Detected File Type Name = MOV
JAVA [File Type - 0x0002] Detected File Type Long Name = QuickTime Movie
DOTNET [File Type - 0x0001] Detected File Type Name = QuickTime
DOTNET [File Type - 0x0002] Detected File Type Long Name = QuickTime
DOTNET [File Type - 0x0003] Detected MIME Type = video/quicktime
DOTNET [File Type - 0x0004] Expected File Name Extension = mov
DOTNET
DOTNET [File - 0x0001] File Name = ftyp3gp5.mp4
DOTNET [File - 0x0002] File Size = 1372726 bytes
DOTNET [File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>
[File Type - 0x0003] Detected MIME Type = video/quicktime
[File Type - 0x0004] Expected File Name Extension = mov
[File - 0x0001] File Name = ftyp3gp5.mp4
[File - 0x0002] File Size = 1372726 bytes
[File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>

JAVA EXCEPTION: File format could not be determined
JAVA - QuickTime
JAVA - QuickTime Video
JAVA - QuickTime Sound
DOTNET - QuickTime File Type
DOTNET - QuickTime Movie Header
DOTNET - QuickTime Track Header
DOTNET - QuickTime Track Header
DOTNET - QuickTime Metadata Header
DOTNET - File Type
DOTNET - File
- File Type
- File

Generated using metadata-extractor
https://drewnoakes.com/code/exif/
Expand Down
40 changes: 38 additions & 2 deletions mp4/metadata/java/Sony ILCE-7M3 (A7M3).mp4.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,43 @@
FILE: Sony ILCE-7M3 (A7M3).mp4
TYPE: UNKNOWN
TYPE: QUICKTIME

EXCEPTION: File format could not be determined
[ERROR: QuickTime] End of data reached.
[ERROR: QuickTime] End of data reached.
[ERROR: QuickTime] End of data reached.
[ERROR: QuickTime] End of data reached.
[ERROR: QuickTime] End of data reached.

[QuickTime - 0x1000] Major Brand = Unknown
[QuickTime - 0x1001] Minor Version = 16785407
[QuickTime - 0x1002] Compatible Brands = [Unknown, MP4 v2 [ISO 14496-14], MP4 Base Media v2 [ISO 14496-12:2005]]
[QuickTime - 0x0100] Creation Time = Thu Apr 25 06:23:16 +10:00 2019
[QuickTime - 0x0101] Modification Time = Thu Apr 25 06:23:16 +10:00 2019
[QuickTime - 0x0103] Duration = 43200
[QuickTime - 0x0102] Media Time Scale = 90000
[QuickTime - 0x0104] Duration in Seconds = 00:00:01
[QuickTime - 0x0105] Preferred Rate = 1
[QuickTime - 0x0106] Preferred Volume = 1
[QuickTime - 0x0107] Preview Time = 0
[QuickTime - 0x0108] Preview Duration = 0
[QuickTime - 0x0109] Poster Time = 0
[QuickTime - 0x010a] Selection Time = 0
[QuickTime - 0x010b] Selection Duration = 0
[QuickTime - 0x010c] Current Time = 0
[QuickTime - 0x010d] Next Track ID = 4
[QuickTime - 0x010e] Rotation = 0

[File Type - 0x0001] Detected File Type Name = MOV
[File Type - 0x0002] Detected File Type Long Name = QuickTime Movie
[File Type - 0x0003] Detected MIME Type = video/quicktime
[File Type - 0x0004] Expected File Name Extension = mov

[File - 0x0001] File Name = Sony ILCE-7M3 (A7M3).mp4
[File - 0x0002] File Size = 4197914 bytes
[File - 0x0003] File Modified Date = <omitted for regression testing as checkout dependent>

- QuickTime
- File Type
- File

Generated using metadata-extractor
https://drewnoakes.com/code/exif/
Loading

0 comments on commit 1f9c3fe

Please sign in to comment.