Sebastian Dröge
88e060743a
mxfdemux: Post an error message if we got EOS before having any source pads
...
Otherwise, sending an EOS event has no effect and the application waits
forever for something to happen.
2016-11-26 12:28:57 +02:00
Sebastian Dröge
d3b45a145f
mxfdemux: Fix up another size check and prevent allocating too much memory
2016-11-25 16:46:45 +02:00
Sebastian Dröge
31a2f2d5a1
mxfdemux: Handle zero-sized KLV items better and don't assert on them
2016-11-25 15:59:44 +02:00
Sebastian Dröge
73e02f4553
mxfdemux: Fix various logic errors in error handling of footer partition parsing
2016-11-25 15:53:50 +02:00
Sebastian Dröge
9ff1ac59f3
mxfdemux: Don't try parsing empty metadata items
2016-11-25 15:53:36 +02:00
Sebastian Dröge
329fe3eea4
mxfmetadata: Add missing NULL check
2016-11-25 15:30:39 +02:00
Sebastian Dröge
743d7bd7ec
mxf: Remove mxfdms1.[ch] from the build for now
...
It's completely unused currently but might be used in the future.
2016-11-24 23:40:45 +02:00
Sebastian Dröge
b5bb6e3b38
mxfdemux: Add various missing bounds checks, NULL checks and integer overflow protection for error cases
2016-11-24 23:40:21 +02:00
Thibault Saunier
2fb716409c
Use the new API to post flow ERROR messages on the bus
...
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:31 -03:00
Nirbheek Chauhan
42af2d66d8
Add support for Meson as alternative/parallel build system
...
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:35:54 +01:00
Sebastian Dröge
cc1feff99f
mxfmux: Instead of releasing request pads on stop(), clear them only
...
Request pads are requested by applications and as such should only be released
by them again. Instead of releasing them when stopping the muxer, just clear
their state so that they can be used again when starting the muxer again.
https://bugzilla.gnome.org/show_bug.cgi?id=763862
2016-03-25 12:54:00 +02:00
Vineeth TM
8cdfb13658
bad: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Jimmy Ohn
74a90087c1
mxfdemux: Fix query memory leak
...
Peer query isn't being freed in case of GST_QUERY_SEEKING.
https://bugzilla.gnome.org/show_bug.cgi?id=763974
2016-03-21 10:44:02 +02:00
Sebastian Dröge
a032347c77
mxfmux: Fix typo in JPEG2000 colorspace
...
sRGC -> sRGB
2016-03-16 11:34:46 +02:00
Sebastian Dröge
129b04fad0
mxftypes: Generate UUIDs according to RFC4122 version 4 (aka random)
...
Instead of fully random UUIDs, these should follow a scheme.
2016-01-29 23:39:26 +01:00
Sebastian Dröge
4321fd94a1
mxfmetadata: Properly write video line map data as an array of 32 bit integers
2016-01-29 21:09:44 +01:00
Sebastian Dröge
4d13ef1034
mxfmetadata: DMSchemes in the Preface is a required field
...
Even if it has 0 entries.
2016-01-29 20:58:27 +01:00
Sebastian Dröge
9c39e6769d
mxful: Fix Content Storage UL
2016-01-29 18:41:52 +01:00
Sebastian Dröge
e222f28bf3
mxfmetadata: Best effort values must be written and if unset must contain the distinguished value
...
It's invalid to not write them at all.
2016-01-29 18:28:03 +01:00
Sebastian Dröge
070d4312a8
mxful: Add missing OperationalPattern UL, which fixes an off-by-one with the others
2016-01-29 17:36:11 +01:00
Sebastian Dröge
2f40450d8e
mxfmux: Our body partition is always complete and closed
...
We have no metadata in it.
2016-01-29 17:07:08 +01:00
Sebastian Dröge
5f3e444aff
mxfmux: Use IndexSID of 2 instead of 1
...
Some tools complain if essence and index have the same SID.
2016-01-29 17:02:32 +01:00
Sebastian Dröge
cd17ea1070
mxfmux: Rewrite body partition pack on EOS and mark it as complete/closed
2016-01-29 17:02:32 +01:00
Sebastian Dröge
cd2a8036f2
mxfmpeg: Write the correct essence container UL for all codecs
2016-01-28 18:54:29 +01:00
Sebastian Dröge
45048662a1
mxfmpeg: Write version number into the picture essence coding UL
2016-01-28 18:54:29 +01:00
Sebastian Dröge
e48c5ed816
mxfmux: Write a timecode track into the source package too
2016-01-28 18:54:29 +01:00
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