Commit graph

7188 commits

Author SHA1 Message Date
Sebastian Dröge 819406b563 tsmux: Fix make distcheck 2017-07-21 12:28:50 +03:00
Sebastian Dröge 489466e2a5 tsmux: Add mpegtsmux_jpeg2000.c to meson.build 2017-07-21 09:33:54 +03:00
Sebastian Dröge 3fe65ad854 tsmux: Store PES payload size in a 32 bit integer
While the size in the packet is only 16 bits, we need to handle bigger
sizes without overflowing. For video streams this can happen, 0 is
written to the stream instead.

This fixes muxing of buffers >= 2**16.
2017-07-21 09:33:31 +03:00
Aaron Boxer bbbdc2cd7e tsmux/tsdemux: Add support for JPEG2000
Based on patches by Milos Seleceni.

https://bugzilla.gnome.org/show_bug.cgi?id=753323
2017-07-21 09:33:31 +03:00
Seungha Yang 00cf833c95 webvttenc: Change src pad template to application/x-subtitle-vtt
Use consistent mime-type with subparse element for webvtt format

https://bugzilla.gnome.org/show_bug.cgi?id=784715
2017-07-18 09:40:18 +02:00
Aaron Boxer 45dbe864e2 jpeg2000parse: support 2-component images
https://bugzilla.gnome.org/show_bug.cgi?id=784797
2017-07-17 15:53:06 +03:00
Aaron Boxer e10276a616 jpeg2000parse: initial support for JP2 format
This is a simple way of supporting JP2 : we treat is as JPC, and throw
away header info.

https://bugzilla.gnome.org/show_bug.cgi?id=767546
2017-07-17 15:51:02 +03:00
Aaron Boxer 85fbbc7a24 jpeg2000parse: Parse colorimetry, interlace-mode, field-order, multiview-mode and chroma-site
https://bugzilla.gnome.org/show_bug.cgi?id=753323
2017-07-17 15:49:34 +03:00
Tim-Philipp Müller da44d1f0a9 audiomixer: document caps negotiation raciness
Until we land conversion support in audioaggregator (#773762).

https://bugzilla.gnome.org/show_bug.cgi?id=777915
2017-07-14 13:54:48 +01: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
Aaron Boxer 2cffa1579a jpeg2000parse: allow parsing when current caps are null
In this case, we assume that the format is jpc, and we infer the color
space from the number of components. This allows the parser to process a
jpc disk file coming from a filesrc element.

https://bugzilla.gnome.org/show_bug.cgi?id=783291
2017-07-10 10:03:43 +03:00
Mark Nauwelaerts eebc4c0022 mpegdemux: segment seek flag is not relevant when checking for EOS
It is only relevant in deciding whether or not send SEGMENT_DONE.
In this case, not detecting EOS leads to a busy loop when encountering
the originally recorded end-of-file of a file that is still growing.
2017-07-09 11:06:45 +02: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
Eunhae Choi ed5d677dce mpegpsmux: remove unnecessary g_return_if_fail()
This should never happen, and should be a g_assert()
if it's a worry. Fixes warnings from source code
checkers about possible caps leaks here.

https://bugzilla.gnome.org/show_bug.cgi?id=783955
2017-06-27 00:17:03 +01:00
Nicolas Dufresne 81e1aa201c meson: Add netsim plugin 2017-06-22 14:21:34 -04: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
Aaron Boxer 9ec2b7ce13 jpeg2000parse: parse RSIZ capabilities and put profile/level into the caps
The RSIZ capabilities tag stores the JPEG 2000 profile. In the case of
broadcast profiles, it also stores the broadcast main level, which
specifies the bit rate.

https://bugzilla.gnome.org/show_bug.cgi?id=782337
2017-06-07 10:06:26 +03:00
Thibault Saunier 1b8aa7578c videoparse: Fix property handling
Usage of GstValueArray was wrong and frame-stride does not exist in
rawvideoparse
2017-06-06 15:22:20 -04:00
Wim Taymans f28ab7ce60 pcapparse: endianness fix
Also swap the linktype after we detected that we need to do
byteswapping. Fixes a problem with reading pcap files generated
on a machine with different endianness.
2017-06-01 16:00:50 +02:00
Olivier Crête 5443aa9ac8 audioaggregate: Don't hold object locks across calls to aggregate_one
https://bugzilla.gnome.org/show_bug.cgi?id=782878
2017-05-21 18:44:53 +02:00
Olivier Crête 57ede26031 audiointerleave: Take object lock while modifying channel count 2017-05-20 17:52:00 +02:00
Matthew Waters 7c53043386 aggregator: add simple support for caps handling
Modelled off the videoaggregator caps handling as that seems the most
mature aggregtor-using implementation that has caps handling there is.

https://bugzilla.gnome.org/show_bug.cgi?id=776931
2017-05-20 16:21:17 +02:00
George Kiagiadakis 39d2526c34 videoaggregator: delay using new caps from a sink pad until the next buffer in the queue is taken
When caps changes while streaming, the new caps was getting processed
immediately in videoaggregator, but the next buffer in the queue that
corresponds to this new caps was not necessarily being used immediately,
which resulted sometimes in using an old buffer with new caps. Of course
there used to be a separate buffer_vinfo for mapping the buffer with its
own caps, but in compositor the GstVideoConverter was still using wrong
info and resulted in invalid reads and corrupt output.

This approach here is more safe. We delay using the new caps
until we actually select the next buffer in the queue for use.
This way we also eliminate the need for buffer_vinfo, since the
pad->info is always in sync with the format of the selected buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=780682
2017-05-20 16:21:16 +02:00
Tim-Philipp Müller 80d66dfec8 Fix up package name and origin in some plugins 2017-05-18 10:58:20 +01:00
Tim-Philipp Müller 2ced01cc9f stereo: fix typo in plugin description 2017-05-18 10:53:48 +01:00
Sebastian Dröge eb1f1ff0a5 h265parse: Fix calculation of codec_data buffer size 2017-05-18 11:43:03 +03: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
Vincent Penquerc'h 9fae0055e7 h265parse: fix caps leak in renegotiation 2017-05-12 11:15:04 +01:00
Vincent Penquerc'h a06423efa4 h264parse: fix caps leak in renegotiation 2017-05-12 11:15:00 +01:00
Vincent Penquerc'h ba22007e2f jpeg2000parse: fix negotiation with j2c and jpc both allowed upstream
If upstream supports both, but downstream supports only jpc, j2c
would have been selected as the first in the caps.

https://bugzilla.gnome.org/show_bug.cgi?id=782221
2017-05-12 11:14:31 +01:00
Sebastian Dröge 6026d12d90 audiobuffersplit: Allow changing the output-buffer-duration at any time
Previously this was only allowed before the CAPS event arrived.
2017-05-11 18:41:08 +02:00
Thibault Saunier 78022a6e0c docs: Port all docstring to gtk-doc markdown 2017-04-12 12:57:57 -03:00
Thibault Saunier 90f766cc51 rawvideoparse: videoparse now uses GstValueArray and not GValueArray 2017-04-12 12:08:07 -03:00
Fabian Orccon 456153cec9 faceoverlay: Port to GStreamer 1.x
https://bugzilla.gnome.org/show_bug.cgi?id=764011
2017-04-11 11:22:01 +03:00
Fabian Orccon d4797e4455 faceoverlay: Revert deletion
https://bugzilla.gnome.org/show_bug.cgi?id=764011
2017-04-11 11:22:01 +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
Douglas Bagnall e83573fd8d audiointerleave: don't overflow channel map with >64 channels
When there are more than 64 channels, we don't want to exceed the
bounds of the ordering_map buffer, and in these cases we don't want to
remap at all. Here we avoid doing that.

Based on a patch originally for plugins-good/interleave in
https://bugzilla.gnome.org/show_bug.cgi?id=780331
2017-03-31 14:11:56 +03:00
Nicolas Dufresne 62d167b551 audiomixmatrix: Don't crash if matrix is unset
Fix a crash ff one set in_channels/out_channels to non-zero, and then
get the matrix property.
2017-03-27 15:10:45 -04:00
Nicolas Dufresne 18917de956 audiomixmatrix: Remove property matrix-value-array
This duplicated property is no longer needed as there is now API to
allow bindings access GST_TYPE_ARRAY (see gst_util_get/set/object_array).
Additionnally, Python has proper overrides which will make this looks
like Python. A 2x2 matrix would be set this way:

  element = matrix = Gst.ValueArray(Gst.ValueArray([1.0, -1.0]),
      Gst.ValueArray([1.0, -1.0))

Notice that you need to "cast" each arrays to Gst.ValueArray, otherwise
there is an ambiguity between Gst.ValueArray and Gst.ValueList list type.
Fortunatly, Gst.ValueArray implements the Sequence interface, so it can
be indexed like normal python matrix.
2017-03-27 13:58:24 -04:00
Sebastian Dröge 971a481a8c audiobuffersplit: Install srcpad query function on the srcpad, not the sinkpad 2017-03-22 13:23:11 +02:00