37c3686155
mxfdec: Parse PreviousPartition in mxf_seek_to_previous_partition()
...
Without this patch the demuxer can get stuck in a loop if PreviousPartition
points somewhere where there's no PartitionPack, or if klv_read_packet() syncs
back up to the current partition.
This should fix Ticket3278 properly and unbreak Ticket4040.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-28 18:58:59 +01:00
fc1b89d887
mxfdec: Break out parts of mxf_read_header() into separate functions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-28 18:58:34 +01:00
11467ecf51
mxfdec: reduce loop bound in mxf_read_pixel_layout()
...
Makes coverity less confused and code more readable.
Bug-Id: CID 732262
2014-10-27 19:08:02 +00:00
3b709fd912
Merge commit '9dcf2397219ca796f0fafce2a703770d6fd09920'
...
* commit '9dcf2397219ca796f0fafce2a703770d6fd09920':
lavf: Check the return value of strftime
Conflicts:
libavformat/wtvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-26 02:06:40 +01:00
90bf1e3046
libavformat/mxfdec: read source timecode from pulldown component
...
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-25 23:15:04 +02:00
9dcf239721
lavf: Check the return value of strftime
...
If the buffer provided to strftime is too small, the buffer contents
are indeterminate - it does not guarantee actually null terminating
the buffer.
Signed-off-by: Martin Storsjö <martin@martin.st >
2014-10-26 00:14:54 +03:00
ad6b00d85f
mxfdec: add missing break
...
CC: libav-stable@libav.org
Bug-Id: CID 732232
2014-10-24 23:48:57 +01:00
676110e6d4
avformat/mxfdec: cleanup if parsing the header metadata fails
...
Fixes memleaks
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-15 06:08:34 +02:00
0834f2056c
avformat/mxfdec: Fix memleak of packages_refs
...
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-15 06:08:34 +02:00
aae4f5108d
avformat/mxfdec: Fix memleak of primer_packs
...
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-15 06:08:28 +02:00
e3b28f10bb
avformat/mxfdec: Fix termination of mxf_data_essence_container_uls
...
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-15 02:09:17 +02:00
5c50214eed
avformat/mxfdec: read reel_name and source timecode from physical source package
...
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-10-07 03:13:06 +02:00
00aa2ebb1c
Merge commit '369380e1c4c6fc9b0d9ff04ec23d46b252ba7110'
...
* commit '369380e1c4c6fc9b0d9ff04ec23d46b252ba7110':
mxf: Support AAC
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-17 23:06:38 +02:00
887d85fdcc
Merge commit '747cd9560c2248ff2834f29cd2190646330e4676'
...
* commit '747cd9560c2248ff2834f29cd2190646330e4676':
mxf: Add the UL for the MPEG2VideoDescriptor
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-17 22:00:50 +02:00
ecb7f1dd52
Merge commit '304089aca7d238ae184e09993b5c737aa22e2c2c'
...
* commit '304089aca7d238ae184e09993b5c737aa22e2c2c':
mxf: Add UID print helpers
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-17 21:50:06 +02:00
369380e1c4
mxf: Support AAC
...
Update mxf_set_audio_pts to use the container-provided information.
The UL is marked as "to be changed in the future", but the current
samples in the wild do use it.
2014-08-17 16:11:16 +02:00
747cd9560c
mxf: Add the UL for the MPEG2VideoDescriptor
2014-08-17 16:11:02 +02:00
304089aca7
mxf: Add UID print helpers
...
And use it to print non-parsed ULs.
2014-08-17 16:11:02 +02:00
a0941c8a2b
Use new av_dict_set_int helper function.
...
Get rid of the many, slightly differing, implementations
of basically the same thing.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de >
2014-08-16 14:31:41 +02:00
d34ec64a22
replace calls to url_feof() with avio_feof()
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-08 00:48:38 +02:00
04aec74f45
mxfdec: add missing "const" to array declaration.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de >
2014-07-30 20:25:29 +02:00
8b1e920676
Merge commit '259fe7280d0b63dc7a8ff017d44f26d3a84cfde8'
...
* commit '259fe7280d0b63dc7a8ff017d44f26d3a84cfde8':
mxf: Extract origin information from material and source track
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-29 00:18:03 +02:00
4a4d0258ee
Merge commit 'c9d982aa11a6267611c3770792f0e04b48438348'
...
* commit 'c9d982aa11a6267611c3770792f0e04b48438348':
mxf: Detect Vanc/Vbi SMPTE-436M mxf track
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-29 00:12:03 +02:00
259fe7280d
mxf: Extract origin information from material and source track
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-07-28 22:17:42 +02:00
c9d982aa11
mxf: Detect Vanc/Vbi SMPTE-436M mxf track
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-07-28 22:17:42 +02:00
069e462beb
Merge commit 'ad8f736b7404503d8f5164f4879175a2258dd64b'
...
* commit 'ad8f736b7404503d8f5164f4879175a2258dd64b':
mxf: Remove typo
also See: [FFmpeg-devel] [PATCH 3/3] lavf/mxfdec: delete trailing semi-colon
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-04-04 02:18:32 +02:00
ad8f736b74
mxf: Remove typo
...
Reported-By: Vittorio Giovara <vittorio.giovara@gmail.com >
2014-04-03 23:45:05 +02:00
2ef6c0fdf5
Merge commit 'af9481d7019d46c9f18c4ccac77a5d0c54cf6004'
...
* commit 'af9481d7019d46c9f18c4ccac77a5d0c54cf6004':
mxf: Lowercase UL strings
Conflicts:
libavformat/mxfdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-19 21:09:16 +01:00
8263c14691
Merge commit '842ea36c747eb6537c4236114346cb7a3e9a8df1'
...
* commit '842ea36c747eb6537c4236114346cb7a3e9a8df1':
mxf: Override faulty PreviousPartition entries
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-19 20:46:52 +01:00
af9481d701
mxf: Lowercase UL strings
...
The specification uses lower case most of the time.
2014-03-19 12:04:15 +01:00
842ea36c74
mxf: Override faulty PreviousPartition entries
...
Some files set the PreviousPartition field to point to its own offset.
If we are parsing forward the Previous partition is immediately known
and its value could be used, otherwise we can safely point to the
header.
Reported-By: Jean Baptiste Kempf <jb@videolan.org >
2014-03-19 11:56:33 +01:00
28ee7757f5
Merge commit 'd92024f18fa3d69937cb2575f3a8bf973df02430'
...
* commit 'd92024f18fa3d69937cb2575f3a8bf973df02430':
lavf: more correct printf format specifiers
Conflicts:
libavformat/asfdec.c
libavformat/cafdec.c
libavformat/dxa.c
libavformat/framecrcenc.c
libavformat/hnm.c
libavformat/iff.c
libavformat/mov.c
libavformat/mxfdec.c
libavformat/rmdec.c
libavformat/rpl.c
libavformat/smacker.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-11 21:05:34 +01:00
d92024f18f
lavf: more correct printf format specifiers
2014-03-11 13:13:41 +01:00
4c63beeefe
Merge commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf'
...
* commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf':
mxfdec: Validate parameters to strftime
Conflicts:
libavformat/mxfdec.c
See: 423089e964
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-10 11:51:40 +01:00
8cafeb8bca
mxfdec: Validate parameters to strftime
...
The MSVCRT version of strftime calls the invalid parameter handler
if the struct values in struct tm are invalid. In case no invalid
parameter handler is set for the process, the process is aborted.
This fixes fate failures on MSVC builds since 570af382
.
Based on a patch by Hendrik Leppkes.
Signed-off-by: Martin Storsjö <martin@martin.st >
2014-03-10 11:11:08 +02:00
39f5003a07
Merge commit '5b977c1d4fd99f325049d48fb8f0a3240d50eef8'
...
* commit '5b977c1d4fd99f325049d48fb8f0a3240d50eef8':
mxf: Return meaningful errors
Conflicts:
libavformat/mxfdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-06 23:53:36 +01:00
618d2262d7
Merge commit 'f06f6daaf8538eb8ceeb690b761f1256771b6ba6'
...
* commit 'f06f6daaf8538eb8ceeb690b761f1256771b6ba6':
mxf: Parse random index pack
Conflicts:
libavformat/mxfdec.c
See: f5ed83c383
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-06 23:45:05 +01:00
5a4852bc4d
Merge commit '570af382eea902afe09f3562e5e1b483981cca7e'
...
* commit '570af382eea902afe09f3562e5e1b483981cca7e':
mxf: Handle identification metadata
Conflicts:
libavformat/mxfdec.c
See: 25b143aa7b
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-06 22:59:35 +01:00
3ce8581413
Merge commit '5b930092c3afd2ae01f1c8aa7fb405911d6ad416'
...
* commit '5b930092c3afd2ae01f1c8aa7fb405911d6ad416':
mxf: Set audio packets pts
Conflicts:
libavformat/mxfdec.c
See: 83cab07a4c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-06 22:50:06 +01:00
5b977c1d4f
mxf: Return meaningful errors
2014-03-06 19:28:20 +01:00
f06f6daaf8
mxf: Parse random index pack
...
Get the last partition offset and use it when footer partition
offset is missing.
Footer partition may not be present and even if present footer
partition offset may not be set in any partition except last one.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-03-06 19:28:20 +01:00
570af382ee
mxf: Handle identification metadata
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-03-06 19:28:20 +01:00
5b930092c3
mxf: Set audio packets pts
...
Extrapolate audio timestamps based on the number of samples demuxed.
Deal with some MXF nastiness involving fractional number of
samples per EditUnit when seeking (the specs handwave this away).
Further fixes from Tomas Härdin.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-03-06 19:28:20 +01:00
b37effdc52
mxfdec: free descriptor extradata in .read_close()
...
Fixes memleak in fate-mxf-demux.
2014-02-09 18:50:53 +01:00
23e48cd01f
Merge commit 'c716624853339ea4b1086a3957b334829370204c'
...
* commit 'c716624853339ea4b1086a3957b334829370204c':
mxf: Read field dominance flag
Conflicts:
libavformat/mxfdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-02-02 05:23:59 +01:00
8fb67c1026
Merge commit '7d56f2fffc14ad02001ee0689bee76a759da9ede'
...
* commit '7d56f2fffc14ad02001ee0689bee76a759da9ede':
mxf: Handle negative edit_rate
Conflicts:
libavformat/mxfdec.c
See: 83cab07a4c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-02-02 05:07:42 +01:00
c716624853
mxf: Read field dominance flag
...
And export the information in field_order.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-02-01 16:26:44 +01:00
7d56f2fffc
mxf: Handle negative edit_rate
...
Default to 1/25.
2014-02-01 16:25:07 +01:00
fd334b9b6e
avformat/mxfdec: fix typo in error check of mxf_edit_unit_absolute_offset()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-01-15 18:01:26 +01:00
e3c0fcadda
Merge commit '1a4e4ad0e0c5486dcab05e54b587672a498dd7cf'
...
* commit '1a4e4ad0e0c5486dcab05e54b587672a498dd7cf':
mxf: Use av_malloc_array
Conflicts:
libavformat/mxfdec.c
See: 8ce41721a4
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-01-14 22:20:52 +01:00