Sebastian Dröge
3df615a503
mxfmux: Write This Generation UID into the Identification metadata
...
It's required according to the standard and we forgot to actually write it to
the file although we stored it in the data structures.
2016-01-28 15:38:45 +01:00
Sebastian Dröge
3a72574c59
mxfmetadata: Add workaround for ffmpeg only writing one Video Line Map value
...
https://ffmpeg.org/pipermail/ffmpeg-devel/2016-January/188202.html
2016-01-28 15:29:44 +01:00
Sebastian Dröge
b6696122a0
mxftypes: Don't store pointers in stack allocated guints
...
This works usually in this place, unless the compiler optimizes things in
interesting ways in which case it causes stack corruption and crashes later.
The compiler in question here is clang with -O1, which seems to pack the stack
a bit more and causes writing to the guint as pointer to overwrite map.memory,
which then later crashes during unmapping of the memory.
2016-01-07 18:13:08 +02:00
Sebastian Dröge
5a1953b31f
mxfmetadata: Initialize boolean to FALSE to fix valgrind warning
...
Seems to be a false warning though.
2016-01-07 18:13:08 +02:00
Vineeth TM
7c42ba97d7
plugins-bad: Fix example pipelines
...
rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples
https://bugzilla.gnome.org/show_bug.cgi?id=759432
2015-12-15 10:30:49 +00:00
Sebastian Dröge
7ae23d13c8
mxfdemux: Only pre-set position for exactly the same essence track
...
The edit rate is only supposed to be the same in a source package, but there
might be multiple source packages with the same essence container. As such
just comparing the body/index SID is not sufficient.
2015-12-10 12:47:17 +02:00
Sebastian Dröge
39aa2aaa39
mxfdemux: Only pre-set the track position if it's for the same body/index SID
2015-12-10 12:27:04 +02:00
Sebastian Dröge
f2eaa68c90
mxfdemux: Only access the index table if it has enough elements
2015-12-09 16:55:00 +02:00
Sebastian Dröge
6e06f8c936
mxfdemux: Use keyframe information from index table segments if available
...
We don't implement keyframe detection for all codecs and this will allow us to
implement better seeking.
2015-12-09 16:49:30 +02:00
Sebastian Dröge
b504672fc4
mxfdemux: Collect all index table segments after finding the random index pack
...
That way we always have the index table information available, especially the
keyframe-ness of all buffers.
2015-12-09 16:33:39 +02:00
Sebastian Dröge
6d367d6b48
mxfdemux: Fix handling of IndexTableSegments
...
This was completely broken before and could only work on a very constrained
set of files. After these changes it should work except for situations where
PTS != DTS, which is not handled at all in mxfdemux currently.
https://bugzilla.gnome.org/show_bug.cgi?id=759118
2015-12-09 16:33:39 +02:00
Sebastian Dröge
c82d702985
mxftypes: Fix parsing of index table segments
2015-12-08 20:24:59 +02:00
Sebastian Dröge
41e500356f
mxfmux: Handle aggregation with NULL buffers without crashing
2015-12-08 18:23:02 +02:00
Sebastian Dröge
a02708f924
mxfmux: Add FIXME about enforcing that all tracks in a source package have the same edit rate
...
The standard requires this and also the index table segments are not going to
work otherwise.
2015-12-08 16:45:33 +02:00
Sebastian Dröge
df7209a1c5
mxfmux: Write index table segments
...
But only for the first essence track, and once for every keyframe every 2
seconds.
2015-12-08 13:50:44 +02:00
Sebastian Dröge
1addfcc0b2
mxfmetadata: Fix static local tag for index sid
2015-12-08 10:14:41 +02:00
Sebastian Dröge
47da7565ce
mxftypes: Add function to serialize an index table segment to a buffer
2015-12-08 10:14:41 +02:00
Sebastian Dröge
01f0d16db3
mxfmux: Index table segments must not use the primer pack
...
According to S377-1-2009c 9.2 the local tags must not be resolved from the
primer pack, which as a result means that there can't be any other tags than
statically assigned ones.
2015-12-08 10:14:41 +02:00
Edward Hervey
fe45de837c
mxfmux: Remove more dead code
...
Coverity CID #1328818
2015-12-07 13:49:49 +01:00
Sebastian Dröge
2ab188bf29
mxfmux: Don't copy input buffers, just append them to the header
2015-12-04 18:06:30 +02:00
Sebastian Dröge
8541424d34
mxfmux: Error out if we get a timeout during live mixing
...
We can't handle that but need complete streams without gaps.
2015-11-21 01:56:46 +05:30
Sebastian Dröge
73beb1834e
mxfmpeg: Use the correct sound essence compression UL for MP3
...
There's one for MPEG 1 Layer 1 and one for Layer 2 and 3. We previously
had the second for Layer 1 and 2 and nothing for Layer 3, which was wrong.
2015-11-21 01:56:46 +05:30
Sebastian Dröge
adb01a23da
mxfmpeg: Set the essence container UL byte 13 to 0x10 for h264
...
0x04 signifies a MPEG elementary stream but according to RP2008, 0x10 should
be used for a h264 byte-stream. This also fixes compatibility of our files
with ffmpeg.
2015-11-21 01:56:46 +05:30
Sebastian Dröge
04a5eee15e
mxfmux: Remove some dead code that could never be called
...
Coverity CIDs #1328818 , #1328819 , #1328820 .
2015-10-27 16:32:48 +02:00
Sebastian Dröge
4cdc83fe5d
mxfmux: Remove empty set/get_property()
...
We can add them again if we ever add properties.
2015-10-23 18:58:41 +03:00
Sebastian Dröge
d6a5e4ff16
mxfmux: Port to GstAggregator
2015-10-23 18:58:15 +03:00
Sebastian Dröge
8b3953b887
mxfmux: Set GC essence element UL version to 0x01
...
ffmpeg otherwise rejects it and the spec is not 100% clear about that.
2015-10-23 16:38:22 +03:00
Sebastian Dröge
cb5c1e8fd4
mxf: Reorder CFLAGS and LIBS
2015-10-23 16:31:49 +03:00
Sebastian Dröge
0b48144f07
mxfmux: Set KAG size to 1
...
We're not aligning our output in any way, and 0 is invalid.
2015-10-21 19:54:15 +03:00
Sebastian Dröge
8b15b609d2
mxfmux: Don't let the header partition's prev_partition point forward to the footer
2015-10-21 19:54:15 +03:00
Sebastian Dröge
a1e240ca6b
mxftypes: Fix generation of operational pattern UL
2015-10-21 19:54:15 +03:00
Sebastian Dröge
f11a3ccf9d
mxfmpeg: h264 is always byte-stream inside MXF
2015-10-21 19:54:15 +03:00
Sebastian Dröge
d571b4f8fa
mxfmux: Don't leak SEEK events when dropping them
2015-10-21 19:54:15 +03:00
Sebastian Dröge
770d94f4b5
mxfvc3: The wrapping is the 15th byte of the essence container UL, not the 16th
...
In other mappings it is the 16th though.
2015-10-21 19:54:15 +03:00
Sebastian Dröge
41982e6ccf
mxfdemux: If seeking to the remaining parts of the file fails on EOS, consider the stream done
...
Without this we would run this while loop forever, always seeking again for
the same stream.
2015-10-21 19:54:15 +03:00
Sebastian Dröge
9af6a1a617
mxf: Re-enable mxfmux element
2015-10-21 19:54:15 +03:00
Sebastian Dröge
d388655756
mxfjpeg2000: Fix caps
...
There is no fields field anymore.
2015-10-21 19:54:15 +03:00
Sebastian Dröge
9c9dd9d369
mxfmux: Don't fail SEGMENT events
2015-10-21 19:54:15 +03:00
Sebastian Dröge
38e75d93dc
mxfmux: Push stream-start and caps event before segment event
...
And don't push the caps event during instance initialization already.
2015-10-21 19:54:15 +03:00
Sebastian Dröge
5d7367ef47
mxfaes-bwf: Format is unsigned if it's 1 byte per channel
...
... not 1 byte per block.
2015-10-21 19:54:15 +03:00
Luis de Bethencourt
8899efae60
Update references to decodebin
...
Update old references for decodebin2 to decodebin.
2015-05-08 13:54:08 +01:00
Guillaume Desmottes
da113b5ad7
mxf: fix descriptor leak
...
Free the existing descriptor array, if any, before replacing it.
Fix leaks with the
validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario.
https://bugzilla.gnome.org/show_bug.cgi?id=748580
2015-04-28 11:53:52 -03:00
Tim-Philipp Müller
699452ef31
Remove obsolete Android build cruft
...
This is not needed any longer.
2015-04-26 18:59:32 +01:00
Guillaume Desmottes
4d790dae67
mxfdemux: fix memory leak
...
Reset the internal segment before freeing it.
mxf_index_table_segment_parse() allocates data inside the segment
(like segment->delta_entries) which have to be freed using
mxf_index_table_segment_reset().
https://bugzilla.gnome.org/show_bug.cgi?id=746803
2015-04-04 19:47:40 +01:00
Mark Nauwelaerts
32e87b1024
mxfdemux: resurrect some flow return handling
...
https://bugzilla.gnome.org/show_bug.cgi?id=744572
2015-03-28 18:22:29 +01:00
Jan Schmidt
f150cf2d2e
Remove a bunch of silly ';;' typos at the end of lines
2015-03-12 01:33:03 +11:00
Luis de Bethencourt
9909d1f770
mxfdemux: remove unneeded values
...
No need to store the GstFlowReturn when we can check if it is not OK directly
2015-02-18 19:27:46 +00:00
Luis de Bethencourt
4d43472c2b
mxfdemux: renaming GstFlowReturn variable
...
Having a variable named ret in a static void function is very confusing since
this usually is to store what the function will return.
2015-02-18 19:26:43 +00:00
Luis de Bethencourt
b7e0c7a163
mxfdemux: remove ignored value
...
Value stored in ret will be ovewritten in the next iteration of the loop. Which
means it is never used.
Plus a style issue to make gst-indent happy and allow the commit.
2015-02-18 18:00:54 +00:00
Mathieu Duponchelle
631663b854
mxfdemux: Use IndexTableSegments.
...
This speeds up seeking drastically.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732294
2014-12-14 12:53:55 +01:00