Commit graph

7137 commits

Author SHA1 Message Date
Sebastian Dröge
5a6b121d5b rawparse: Properly align raw audio/video output buffers
That is, aligned to the basic type for audio and to 32 bytes for video.
Fixes crashes if the raw buffers are passed to SIMD processing functions.

https://bugzilla.gnome.org/show_bug.cgi?id=774428
2016-11-27 11:45:33 +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
55043aff12 h264parse: Fix indentation 2016-11-26 12:16:58 +02:00
Sebastian Dröge
cb4ccecc97 h265parse: Fix assertion when encountering an invalid NALU
Error out properly instead.

https://bugzilla.gnome.org/show_bug.cgi?id=775130
2016-11-26 12:16:58 +02:00
Sebastian Dröge
47bf425cba h264parse: Fix assertion when encountering an invalid NALU
Error out properly instead.

https://bugzilla.gnome.org/show_bug.cgi?id=775130
2016-11-26 12:16:58 +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
Sebastian Dröge
166c5333ca timecodestamper: Remove all existing timecode metas if requested to override existing 2016-11-24 14:42:45 +02:00
Edward Hervey
a39dc142e6 mpegtspacketizer: Don't add existing values to group
If the last value is already identical, there is no need in adding it
yet-another-time
2016-11-24 11:15:22 +01:00
Sebastian Dröge
0acb3d87bb audiobuffersplit: New element that splits raw audio buffers into equal-sized buffers
This is useful e.g. if audio buffers should be exactly the duration of a
video frame, or if a audio buffers should never be too large because of
latency constraints.

The element is taking a fractional buffer duration, to allow working
with e.g. 1001/30000 as output duration and it accumulates rounding
errors in the buffer durations and compensates for them by making some
buffers one sample larger than the others.

https://bugzilla.gnome.org/show_bug.cgi?id=774689
2016-11-23 18:18:46 +02:00
Sebastian Dröge
43736e5c37 h265parse: Ensure codec_data has the required size when reading number of NAL arrays
https://bugzilla.gnome.org/show_bug.cgi?id=774896
2016-11-23 10:53:46 +02:00
Sebastian Dröge
1dbfef93d6 h264parse: Ensure codec_data has the required size when reading number of SPS
https://bugzilla.gnome.org/show_bug.cgi?id=774896
2016-11-23 10:53:40 +02:00
Sebastian Dröge
ee300b6c33 mpegtspacketizer: Reset values before parsing each section 2016-11-22 13:00:21 +02:00
Sebastian Dröge
ab4bb225bd mpegtspacketizer: Make sure in all cases that we have enough data left for reading a section start
In some cases we ended up parsing sections without.
2016-11-22 12:56:03 +02:00
Sebastian Dröge
0f657cec07 vc1parse: Mark pad as needing reconfiguration again if it failed
And return FLUSHING instead of NOT_NEGOTIATED on flushing pads.

https://bugzilla.gnome.org/show_bug.cgi?id=774623
2016-11-18 12:22:44 +02:00
Thibault Saunier
ca3020cf46 videomeasure: Remove old unported videomeasure plugin as it is now replaced by IQA 2016-11-17 13:25:40 -03:00
Sebastian Dröge
4cb1bcf142 vmncdec: Sanity-check width/height before using it
We will allocate a screen area of width*height*bpp bytes, however this
calculation can easily overflow if too high width or height are given
inside the stream. Nonetheless we would just assume that enough memory
was allocated, try to fill it and overwrite as much memory as wanted.

Also allocate the screen area filled with zeroes to ensure that we start
with full-black and not any random (or not so random) data.

https://scarybeastsecurity.blogspot.gr/2016/11/0day-poc-risky-design-decisions-in.html

Ideally we should just remove this plugin in favour of the one in
gst-libav, which generally seems to be of better code quality.

https://bugzilla.gnome.org/show_bug.cgi?id=774533
2016-11-16 20:41:39 +02:00
Sebastian Dröge
b957c336e5 smoothwave: Remove empty directory 2016-11-16 16:45:27 +02:00
Sebastian Dröge
734d98eaf1 real: Remove empty directory 2016-11-16 16:33:41 +02:00
Sebastian Dröge
ca6e47e63b mpeg1sys: Remove obsolete, empty directory that only contains a meson.build 2016-11-16 16:15:34 +02:00
Scott D Phillips
e4407d4599 Fix some MSVC warnings about const-ness
Some miscellaneous warnings about const-ness, either casting away const
where we know it's safe or removing const where it's not correct.

https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-15 14:53:49 +02:00
Scott D Phillips
0345fb8aef mpegtsdemux: fix operator precedence in SAFE_FOURCC_ARGS
Type cast has higher precedence than bitwise shift, so the third
argument will truncate to 8 bits and then shift right by 8 bits
resulting in constant zero.

https://bugzilla.gnome.org/show_bug.cgi?id=774293
2016-11-12 10:53:02 +02:00
Sebastian Dröge
4899bf0926 gst: Fix more mentions of interlaced-mode to say interlace-mode 2016-11-04 16:26:50 +02:00
Tim-Philipp Müller
d42177c89e bayer: fix stride inconsistencies for odd widths
Consistently use GST_ROUND_UP_4(width) as stride for
bayer buffers. Bayer data will usually come in widths
that are multiples of 4 anyway, so hopefully this
should not have any adverse impact on anyone in
practice.

Before, bayer2rgb required input buffers to are sized
accordingly, but then didn't actually round up when
calculating row offsets. rgb2bayer didn't use a rounded
stride nor buffer size.

https://bugzilla.gnome.org/show_bug.cgi?id=752014
2016-11-01 19:35:47 +02:00
Tim-Philipp Müller
2f8709d057 rawparse: pass flow returns upstream
rawvideoparse wouldn't error out on not-negotiated,
but would just keep on going, because it didn't pass
the flow return value back to the parent class and
thus upstream, so the source wouldnt' stop streaming.
2016-10-29 11:31:28 +01:00
Nirbheek Chauhan
bb0a83b018 plugins: Use explicit type conversion from enums
MSVC warns about this because it's a C++ compiler, and this actually
results in useful things such as the incorrect 'gboolean' return value
for functions that return GstFlowReturn, so let's do explicit
conversions to reduce the noise and increase its efficacy.
2016-10-27 23:06:26 +05:30
Nirbheek Chauhan
f790863755 Explicitly define float constants as float
With MSVC, this gives the following warning:

warning C4305: 'function': truncation from 'double' to 'gfloat'

Apparently, MSVC does not figure out what type to use for constants
based on the assignment. This warning is very spammy, so let's try to
fix it.
2016-10-27 23:06:26 +05:30
Nirbheek Chauhan
4b903f0cf3 meson: Add missing gstvideo dep to segmentclip
In file included from ../subprojects/gst-plugins-base/gst-libs/gst/video/video.h:27:0,
                 from ../subprojects/gst-plugins-bad/gst/segmentclip/gstvideosegmentclip.c:25:
../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h:27:39: fatal error: gst/video/video-enumtypes.h: No such file or directory
 #include <gst/video/video-enumtypes.h>
                                       ^
compilation terminated.

https://ci.gstreamer.net/job/GStreamer-master-meson/269/console
2016-10-18 13:01:04 +05:30
Vincent Penquerc'h
1630d2a0d7 mpegtsmux: fix buffer size mismatch in M2TS mode
In M2TS mode, we need an extra 4 bytes in the buffer, so need
to ensure the buffer can contain these. The allocation site
does not know the mode, so this is done in all cases.
2016-10-17 12:32:58 +01:00
Joan Pau Beltran
32b356b2c5 bayer: fix _transform_caps method to preserve fields in given caps
https://bugzilla.gnome.org/show_bug.cgi?id=758717
2016-10-14 09:45:15 -04:00
Edward Hervey
6622e2dacf mpegtsdemux: Implement efficient program updates
If the parent bin can handle it, only add/remove the new/gone stream
instead of re-adding/re-moving everything

https://bugzilla.gnome.org/show_bug.cgi?id=772742
2016-10-12 15:07:46 +02:00
Edward Hervey
ddacbb7793 mpegtsdemux: Ensure we always get an upstream stream-id
This was a regression.

We only have a upstream-id via STREAM_START if we were in push-mode.
In pull-mode we need to create one.

Note: It would be good to eventually have that method (copied from
gst_pad_get_stream_id_internal()) public in the future
2016-10-12 14:35:21 +02:00
Edward Hervey
ee70f830a8 mpegtsdemux: Fix issues with GST_DISABLE_GST_DEBUG
Some variables were hidden or unused
2016-10-11 16:47:37 +02:00
Edward Hervey
bcc06d679a mpegtsdemux: Switch to using GstStream/GstStreamCollection
For each MpegTSBaseStream, we have a GstStream object which
subclasses can extend with information.

For each program a GstStreamCollection is created with all
GstStream from each stream.
2016-10-11 12:38:02 +02:00
Edward Hervey
dc703b50b3 mpegtsbase: Remove duplicated code
Just have one function to check for private section streams
2016-10-11 12:37:57 +02:00
Edward Hervey
fb36608ccd mpegts: Also clear packetizer on TIME DISCONT
When dealing with TIME-based input, the incoming stream could have
potentially changed completely.

In order to check whether it did or not, we need to re-check all sections
(PAT, PMT...). If it didn't, we will keep using the existing streams/pad,
and if it did we will act as if there was a program switch.

Fixes HLS streaming with decodebin3/playbin3
2016-10-08 14:14:00 +02:00
Wonchul Lee
69b866326e tsdemux: Add conditions to identify ATSC EAC3
https://bugzilla.gnome.org/show_bug.cgi?id=770528
2016-10-03 15:14:54 -04:00
Kyungyong Kim
214a041e13 h265parse: Fix parsing of multiple NALs in the hvcC box
https://bugzilla.gnome.org/show_bug.cgi?id=771970
2016-09-26 09:35:25 +03:00
Sebastian Dröge
8daf628910 jpeg2000parse: Don't pass NULL strings to the colorspace / sampling parsing functions
They assert on NULL.
2016-09-24 10:05:49 -04:00
Joakim Johansson
2837ca997f rtponviftimestamp: Change default value of D-bit
The default value of D-bit is changed to TRUE so discontinuity
is set for initial request and seek request as well.

Only set the e_bit flag for the CUSTOM_DOWNSTREAM event if
a cached buffer exists.

https://bugzilla.gnome.org/show_bug.cgi?id=770221
2016-09-19 11:24:47 -04:00
Hyunjun Ko
4ba54b6046 dvbsuboverlay: map with READWRITE for overlay blend
Just as in basetextoverlay [1], the frame to blend with the subtitles overlay
should be mapped with flags GST_MAP_READWRITE, because
gst_video_overlay_composition_blend() does both operations.

1. https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1396f804

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

https://bugzilla.gnome.org/show_bug.cgi?id=771382
2016-09-14 10:55:09 +02:00
Graham Leggett
7713bb763e tsdemux: handle a NULL name in DVB short event descriptor
Resolves the warning:

GStreamer-WARNING **: Trying to set NULL string on field 'title' on taglist.

https://bugzilla.gnome.org/show_bug.cgi?id=771198
2016-09-13 12:23:28 +01:00
Wonchul Lee
35d147930d tsdemux: Support ATSC EAC3
EAC3 bit streams shall be identified with a stream_type value of 0x87 when
transmitted as PES streams conforming to ATSC-published standards. It is specified
in ATSC Standard A/52.

https://bugzilla.gnome.org/show_bug.cgi?id=770528
2016-09-01 17:56:41 -04: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
Thibault Saunier
50473d77cc meson: Make mpegts lib build when using subprojects
The headers passed as parametter are relative to the build dir
basically "../subproject/gst-plugins-bad/gst-libs/gst/mpegts/XXX.h"
but that does not match what is needed at build time when building as
subproject, also we always add current dir as include_dir so we are
safe including directly.

And link mpegtsdemux against the 'math' library as it is needed.
2016-08-25 15:17:17 -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
Nirbheek Chauhan
7e2b68fe2f plugins: Use stdint.h instead of _stdint.h
_stdint.h is generated by Autotools and we don't really need it. All
supported platforms now ship with stdint.h. The only stickler was MSVC,
and since Visual Studio 2015 it also ships stdint.h now.
2016-08-19 14:42:52 +01:00
Luis de Bethencourt
9514d06ab6 rawvideoparse: fix typo in comment
Small typo in the comment explaining the code fixed by the previous commit.
Fixing it.
2016-08-19 12:25:48 +01:00
Sebastian Dröge
a27103b536 rawvideoparse: Revert last commit and actually remember the physically last plane
Instead of just always taking the last one as before.
2016-08-19 14:19:38 +03:00
Luis de Bethencourt
94c5e998c2 rawvideoparse: remove unused assignment
Value in last_plane will be overwritten before used, remove unused
asignment.

Fixes commit 91cf5ac69f
CID 1371462
2016-08-19 11:57:35 +01:00
Carlos Rafael Giani
91cf5ac69f rawvideoparse: Compute plane offsets & strides if no custom ones are set
This is useful to ensure that the offsets and strides are computed if
only width, height, format etc. in the property config are set.

https://bugzilla.gnome.org/show_bug.cgi?id=769797
2016-08-18 09:21:16 +03:00
xlazom00
94d11f87c7 hls, timecode: fix linking
https://bugzilla.gnome.org//show_bug.cgi?id=769587
2016-08-07 16:45:25 +01:00
Bernhard Miller
9171fa9c19 aiffparse: keep end_offset when seeking
After seeking in aiff files the information about the data end offset is
discarded, leading to audio artifacts with metadata chunks at the end of
a file.
This patch retains the end offset information after a seek event.

https://bugzilla.gnome.org//show_bug.cgi?id=769376
2016-08-06 16:47:27 +01:00
Tim-Philipp Müller
f991e09319 dvdspu: don't crash if video frame could not be mapped
As might happen with e.g. vaapi and the test file from
https://bugzilla.gnome.org/show_bug.cgi?id=736227
2016-08-06 16:17:06 +01:00
Vivia Nikolaidou
3072dd80d2 timecodewait: New element to wait for a specific timecode
timecodewait receives a timecode as an argument (either as string or as
GstVideoTimeCode - one is gst-launch-friendly and the other is code-friendly),
and it will drop all audio and video buffers until that timecode has been
reached.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Vivia Nikolaidou
a2c6e2b64a timecodestamper: New element to attach SMPTE timecode to buffers
The timecodestamper element attaches a SMPTE timecode to each video buffer.
This timecode corresponds to the current stream time.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Edward Hervey
51c5ff45de tsdemux: Fix draining on wrong programs
When draining a program, we might send a newsegment event on the pads
that are going to be removed (and then the pending data).

In order to do that, calculate_and_push_newsegment() needs to know
what list of streams it should take into account (instead of blindly
using the current one).

All callers to calculate_and_push_newsegment() and push_pending_data()
can now specify the program on which to act (or NULL for the default
one).
2016-08-03 17:15:41 +02:00
Edward Hervey
e2b98a7721 tsdemux: Fix GAP synchronization without a valid PCR PID
For streams that don't have a valid PCR PID, we just use the latest
PTS from any given stream.

https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:41 +02:00
Michael Olbrich
36e6590335 tsdemux: handle pcr_pid == 0x1fff
Streams without PCR make senses in HLS, where the playlist timestamps
can be used to seek or calculate the duration.

https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:41 +02:00
Arnaud Vrac
7a3d189250 mpegtsdemux: do not abort playback when no PCR were found during initial scan
Seeking will not be possible in those streams but at least the can be
played. Note scanning is only done when tsdemux is configured in pull mode.

https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:41 +02:00
Arnaud Vrac
35a1720de1 mpegtsdemux: only wait for PCR when PCR pid is set
Streams without PCR make senses in HLS, where the playlist timestamps
can be used to seek or calculate the duration.

https://bugzilla.gnome.org/show_bug.cgi?id=608148
2016-08-03 17:15:40 +02:00
Carlos Rafael Giani
9c596d20fe aiffparse: Add tags for container format and bitrate
The bitrate is added to help downstream elements (like uridecodebin)
figure out a proper network buffer size

https://bugzilla.gnome.org/show_bug.cgi?id=769389
2016-08-02 15:21:38 +03:00
Sreerenj Balachandran
14cc51cddc videoparsers: h264: Add more scalable profiles to the profile list
Adding Scalable Constrained High (G.10.1.2.1) and
Scalable High Intra(G.10.1.3) profiles to the profile list

https://bugzilla.gnome.org/show_bug.cgi?id=769303
2016-08-02 14:26:40 +03:00
Sebastian Dröge
1990d4337b rawaudioparse: Use G_GINT64_MODIFIER for portability
https://bugzilla.gnome.org/show_bug.cgi?id=769295
2016-07-29 10:49:26 +03:00
Sebastian Dröge
e572375793 unalignedaudioparse: Fix element factory name of inner parser 2016-07-29 10:07:23 +03:00
Carlos Rafael Giani
403499a0c0 rawparse: Remove old parser code and wrap new parsers in old elements
https://bugzilla.gnome.org/show_bug.cgi?id=767011
2016-07-26 13:44:39 +03:00
Carlos Rafael Giani
d555f34562 rawparse: Add new raw audio and video parser elements
The new rawaudioparse and rawvideoparse elements are based on GstBaseParse
and completely replace audioparse and videoparse

https://bugzilla.gnome.org/show_bug.cgi?id=767011
2016-07-26 13:44:39 +03:00
Michael Olbrich
48c5cc1b1b tsdemux: add support for LPCM with stream_type = 0x83
https://bugzilla.gnome.org/show_bug.cgi?id=765807
2016-07-25 13:38:29 +03:00
Sebastian Dröge
064f46e9e1 jpeg2000parse: Use correct enum type
GST_JPEG2000_SAMPLING_RGB instead of GST_JPEG2000_COLORSPACE_RGB

https://bugzilla.gnome.org/show_bug.cgi?id=768696
2016-07-12 00:02:53 +03:00
Nirbheek Chauhan
a3d58818e8 Fix various gboolean vs GstFlowReturn problems
Caught by building with MSVC which gave warnings for these
2016-07-11 15:02:06 +01:00
Tim-Philipp Müller
dae928f14c camerabin: update docs section 2016-07-08 14:42:18 +01:00
Luis de Bethencourt
6033c37d14 gaudi: fix documentation warning in GstGaussianBlur
Fixing the following warning when generating documentation:
xml/element-gaussianblur.xml:72: element refsect2: validity error :
    ID GstGaussianBlur already defined
<refsect2 id="GstGaussianBlur" role="typedef">
                                             ^
Warning: multiple "IDs" for constraint linkend: GstGaussianBlur.
  DOC   Fixing cross-references
2016-07-07 17:40:43 +01:00
Luis de Bethencourt
3b491a15cb gaudi: fix documentation warning in GstChromium
Fixing the following warning when generating documentation:
xml/element-chromium.xml:74: element refsect2: validity error :
    ID GstChromium already defined
<refsect2 id="GstChromium" role="typedef">
                                         ^
Warning: multiple "IDs" for constraint linkend: GstChromium.
  DOC   Fixing cross-references
2016-07-07 17:40:43 +01:00
Luis de Bethencourt
418e643b61 gstjpeg2000parse: no need for else after a goto
else clause is redundant when the end of the if statement is a jump.
If we haven't gone to the beach, we are in the false branch.
2016-07-01 14:08:13 +01:00
Aaron Boxer
154698389d gstjpeg2000parse: improved parsing of jpc magic and j2c box
https://bugzilla.gnome.org/show_bug.cgi?id=767512
2016-07-01 13:15:11 +01:00
Edward Hervey
c19d1b46c3 h264parse: Drop filler data
When skipping data, check if they are filler bytes. If so, drop the
data instead of skipping. We don't want to output filler bytes, but they
shouldn't cause a discontinuity.

https://bugzilla.gnome.org/show_bug.cgi?id=768125
2016-06-30 10:32:01 +02:00
Jan Schmidt
92e7e3a3bf h264parse: When input alignment=AU, always drain each packet.
If the input alignment claims AU alignment, each received
buffer should contain a complete video frame, so never hold over parts
of buffers for later processing. Also reduces latency, as packets
are parsed/converted and output immediately instead of 1 buffer
later.

Fixes a problem where an (arguably disallowed) padding byte on the
end of a buffer is detected as an extra byte in the following
start code, and messes up the timestamping that should apply to
that start code.
2016-06-24 22:55:18 +10:00
Tim-Philipp Müller
cb7b6e7a90 videoparsers: fix broken include 2016-06-24 09:39:00 +01:00
Aaron Boxer
e7e6a3579d jpeg2000parse: use enums for colorspace and sampling, rather than strings
Also, move gstjpeg2000sampling to codecparsers project

https://bugzilla.gnome.org/show_bug.cgi?id=767908
2016-06-24 11:23:31 +03:00
Nicolas Dufresne
951157c2a5 doc: Automatic update
This is an automatic update with manual merges of running
"make update" in the doc/plugins directory. This should help
later maintenance of the plugins doc. A lot of plugin are
not referenced yet in the doc. Will come later.
2016-06-21 13:46:00 -04:00
Nirbheek Chauhan
36332faf14 build: Factor out endian-order RGB formats
MSVC seems to ignore preprocessor conditionals inside static pad templates
2016-06-21 11:32:29 +01:00
Aaron Boxer
81e3b998be jpeg2000parse: support j2c format
https://bugzilla.gnome.org/show_bug.cgi?id=767512
2016-06-17 23:08:37 +03:00
Mats Lindestam
a0876aa750 h264parse: support for handling of config-interval = -1
Added support for handling of config-interval = -1.
config-inteval = -1 represents resending SPS and PPS for each
I-/IDR-frame.

https://bugzilla.gnome.org/show_bug.cgi?id=766803
2016-06-13 10:10:21 +01:00
Mats Lindestam
bf0d952387 h264parse: refactored handling of SPS/PPS when pushing frames
https://bugzilla.gnome.org/show_bug.cgi?id=766803
2016-06-13 10:10:05 +01:00
Mats Lindestam
0c04e004bb h264parse: change "config-interval" property type from uint to int
So we can use -1 as special value like in rtph264pay.

https://bugzilla.gnome.org/show_bug.cgi?id=766803
2016-06-13 10:08:22 +01:00
Aaron Boxer
3dc3a915ea jpeg2000parse: Require either colorspace or sampling field in sink caps
And always set the sampling field on the src caps, if necessary guessing a
correct value for it from the colorspace field.

Also, did some cleanup: removed sampling enum - redundant.

https://bugzilla.gnome.org/show_bug.cgi?id=766236
2016-06-10 16:25:50 +03:00
Nicolas Dufresne
50537e2c08 vmncdec: Wait for segment event before checking it
The heuristic to choose between packetise or not was changed to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.

https://bugzilla.gnome.org/show_bug.cgi?id=736252
2016-06-07 21:05:41 -04:00
Aaron Boxer
fffee978c2 jpeg2000parse: Add JPEG2000 parser element
https://bugzilla.gnome.org/show_bug.cgi?id=766236
2016-06-07 15:29:41 +03:00
Aaron Boxer
eebb65e934 openjpeg: set sampling in the caps
https://bugzilla.gnome.org/show_bug.cgi?id=766236
2016-06-07 15:24:32 +03:00
Jan Alexander Steffens (heftig)
851c89ded9 mpegtsmux: Set PTS on aligned buffers
This was broken in 09c05df (make "alignment" property more useful for
packetisation).

https://bugzilla.gnome.org/show_bug.cgi?id=765926
2016-06-07 15:11:00 +03:00
Jan Schmidt
e3f5ccb333 tsdemux: Change the pad naming scheme to include a generation ID
A simple fix for the problem of creating new pads with duplicate
names when switching program, easier than the alternative of
trying to work out which pads might persist and manage that.

See https://bugzilla.gnome.org/show_bug.cgi?id=758454
2016-06-06 13:05:34 +03:00
Scott D Phillips
3edd641667 h265parse: Don't assume contiguous id's in make_codec_data
vps/sps/pps id's are not required to be used contiguously.

https://bugzilla.gnome.org/show_bug.cgi?id=766891
2016-05-30 12:42:24 +03:00
Jan Schmidt
d0d22a9b2c pnmdec: Fix ASCII parsing
Parse gray16 properly in ascii mode, and fix
some bugs around reading data in chunks when
ascii values cross chunk boundaries
2016-05-24 07:21:44 +10:00
Jan Schmidt
a2fde272f5 pnmenc: Make output caps match the srcpad template
Don't output 'image/pnm', which isn't even in the template
caps. Instead, output a mime-type consistent with what we
are encoding.
2016-05-24 07:21:44 +10:00
Jan Schmidt
fa2d98afe2 pnmenc: Tidy up code, support BE/LE GRAY16 properly
Remove code that dealt with odd strides separately - there's
not really any overhead to just using 1 codepath for both matched
and unmatched stride output.

Add separate codepaths for BE vs LE GRAY16 input so they're
handled properly
2016-05-24 07:21:44 +10:00