Commit graph

408 commits

Author SHA1 Message Date
Thibault Saunier
47a49f3381 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
Thibault Saunier
ebb0527e75 mxfdemux: Avoid possible NULL caps 'dereferencing' 2019-03-21 00:40:53 +00:00
Xavier Claessens
83d0623293 Meson: Generate pc file for all plugins in bad
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Mathieu Duponchelle
7771488edb mxfmux: instantiate adapter at the correct place 2018-02-28 23:46:44 +01:00
Tim-Philipp Müller
c7e34a0b2f Update for renamed aggregator pad API
https://bugzilla.gnome.org/show_bug.cgi?id=791204
2018-01-23 09:01:00 +00:00
Edward Hervey
6c2fc31012 mxfdemux: Remove useless check
Any modification of ret in that "while (ret == GST_FLOW_OK)" loop will
break (and cause it to stop the iteration).

CID #1427095
2018-01-11 11:41:33 +01:00
Tim-Philipp Müller
d01297e115 Remove GstAggregator from -bad, moved to core
https://bugzilla.gnome.org/show_bug.cgi?id=739010
2017-12-02 16:14:36 +00:00
Mathieu Duponchelle
56fc5bef18 aggregator: Remove klass->sinkpads_type
This posed problems for the python bindings (and possibly others).

Instead, subclasses now use add_pad_template_with_gtype.

https://bugzilla.gnome.org/show_bug.cgi?id=789986
2017-11-22 16:52:29 +01:00
Edward Hervey
4260f8a120 all: Fix left-shift undefined behaviour
Cast to the target type before shifting (or use macro if available)
2017-11-20 17:06:07 +01:00
Ponnam Srinivas
ff0ccc2a11 mxfdemux: Fix memory leak in error case
https://bugzilla.gnome.org/show_bug.cgi?id=788508
2017-10-06 18:15:38 +01:00
Sebastian Dröge
5f144ca6ba mxfvc3: Use correct wrapping byte value 2017-08-10 17:01:03 +03:00
Sebastian Dröge
444776ae10 mxfdemux: Fix compilation with gcc 4.8.4
https://bugzilla.gnome.org/show_bug.cgi?id=785367
2017-07-25 10:03:25 +03:00
Sebastian Dröge
de7985d46a mxfdemux: Correctly consider frame reordering for timecode calculation 2017-07-24 17:00:02 +03:00
Sebastian Dröge
59f9bc05d2 mxfdemux: Use material track edit rate for component PTS offsetting 2017-07-24 16:57:19 +03:00
Sebastian Dröge
26d5ba42ea mxfdemux: Output timecodes for video streams 2017-07-24 16:49:19 +03:00
Sebastian Dröge
c2ef63a3bc mxfdemux: Keep track of component start positions and material track positions
This allows us to know exactly where in the material track we are, and
how to convert from a PTS for a source track to the actual PTS of the
material track (i.e. by adding the component start position).

https://bugzilla.gnome.org/show_bug.cgi?id=785119
2017-07-24 16:21:31 +03:00
Sebastian Dröge
16fc8541b5 mxfdemux: Create index table arrays with a big enough size 2017-07-11 20:57:24 +03:00
Sebastian Dröge
3a1912f88c mxfdemux: Initialize index table entries completely in all cases
When seeking backwards into a previously unseen location, we wouldn't
fully initialize them and playback would fail later.
2017-07-11 20:57:23 +03:00
Sebastian Dröge
08ac093b40 mxfdemux: For intra-only streams, always output DTS=PTS 2017-07-05 17:04:46 +03:00
Sebastian Dröge
9091e746e5 mxfdemux: Fix integer overflow in partition position comparison function 2017-07-05 15:48:57 +03:00
Sebastian Dröge
bd8809f9d7 mxfdemux: Print PTS and DTS in debug output when pushing buffers 2017-07-05 15:11:22 +03:00
Sebastian Dröge
4706447ddc mxfmetadata: Set field-order correctly for interlaced video 2017-07-05 14:03:07 +03:00
Sebastian Dröge
1e646472e7 mxfmetadata: Use display width/height instead of stored width/height
Stored values contain padding and alignment, and should only be used as
fallback if neither display values nor sampled values exist.
2017-07-05 13:52:25 +03:00
Sebastian Dröge
37e0439e84 mxfdemux: Don't include any KLV packets between header metadata and index table segments in calculations
Minor fixup of last commit.
2017-07-05 00:49:25 +03:00
Sebastian Dröge
72b7794798 mxfdemux: Allow filler and other KLV packets between index table segments
While only filler packets should be allowed, for good measure also skip
any other KLV packets in the range where there could be index table
segments.

This fixes parsing of partitions with multiple index table segments,
which are separated by a filler packet, or other packets.
2017-07-04 20:17:53 +03:00
Sebastian Dröge
af6db6861e mxfdemux: Include duration in response to SEEKING query 2017-06-27 15:41:48 +03:00
Sebastian Dröge
1069330f76 mxfmux: Write temporal offset and correct keyframe offset into index table
https://bugzilla.gnome.org/show_bug.cgi?id=784027
2017-06-27 15:04:22 +03:00
Sebastian Dröge
830e89b7e9 mxfdemux: Take temporal reordering from the index table into account
This is needed to know the PTS, without that we only know the DTS and
using that also for the PTS is wrong unless we have an intra-only codec.

If we can't get the temporal reordering from the index table, don't set
any PTS for non-intra-only codecs and let decoders figure out something.

https://bugzilla.gnome.org/show_bug.cgi?id=784027
2017-06-27 10:47:44 +03:00
Thibault Saunier
fd3854c3e3 mxfdemux: Do not try to serialize unresolved metadatas
When retrieving the `mxfdemux.structure` property, it leads to an
assertion as metadatas need to be resolved for the call to
mxf_metadata_base_to_structure to be valid.
2017-06-15 14:18:20 -04:00
Nicolas Dufresne
4261692187 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Thibault Saunier
78022a6e0c docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
Vincent Penquerc'h
8a5d6397c1 mxfmux: fix index entry leak
https://bugzilla.gnome.org/show_bug.cgi?id=781023
2017-04-09 11:17:11 +03:00
Tim-Philipp Müller
979907144a meson: dist meson build files
Ship meson build files in tarballs, so people who use tarballs
in their builds can start playing with meson already.
2017-02-14 20:19:44 +00:00
Sebastian Dröge
08723e68df mxfdemux: Set stream tags to NULL after unreffing
Otherwise we might try to unref them a second time a little bit later.

https://bugzilla.gnome.org/show_bug.cgi?id=777503
2017-01-20 07:51:09 +02:00
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