platform/upstream/gst-plugins-bad.git
8 years agoamcvideodec/enc: Correctly check for no PTS on input buffers upstream/1.10
shakin chou [Wed, 26 Apr 2017 09:46:10 +0000 (17:46 +0800)]
amcvideodec/enc: Correctly check for no PTS on input buffers

MediaCodec gives us a presentation timestamp of 0 if it does not know
anything, but GStreamer gives us GST_CLOCK_TIME_NONE. Don't mix up these
two.

https://bugzilla.gnome.org/show_bug.cgi?id=780190

8 years agodashdemux: Handle current SIDX before current position in normal mode like in keyunit...
Sebastian Dröge [Mon, 10 Apr 2017 15:46:01 +0000 (18:46 +0300)]
dashdemux: Handle current SIDX before current position in normal mode like in keyunit-only trick mode

Otherwise we'll get into an infinite loop here. Now this is still not
correct and will cause a clean error, but at least it won't hang forever
anymore.

8 years agogldisplay: fix list leak
Vincent Penquerc'h [Fri, 7 Apr 2017 09:24:19 +0000 (10:24 +0100)]
gldisplay: fix list leak

Windows aren't always removed in time, and it turns out to be
very, very hard to remove a window in a way that's not racy and
not deadlocky. Since the window itself doesn't leak, freeing
the list on object destruction is enough.

https://bugzilla.gnome.org/show_bug.cgi?id=781018

8 years agomxfmux: fix index entry leak
Vincent Penquerc'h [Fri, 7 Apr 2017 09:39:31 +0000 (10:39 +0100)]
mxfmux: fix index entry leak

https://bugzilla.gnome.org/show_bug.cgi?id=781023

8 years agogstaggregator: fix event use after free
Vincent Penquerc'h [Fri, 7 Apr 2017 09:19:43 +0000 (10:19 +0100)]
gstaggregator: fix event use after free

https://bugzilla.gnome.org/show_bug.cgi?id=781017

8 years agompegts: fix invalid memory access in language descriptor
Vincent Penquerc'h [Fri, 7 Apr 2017 09:43:51 +0000 (10:43 +0100)]
mpegts: fix invalid memory access in language descriptor

Also add a couple sanity asserts/returns

https://bugzilla.gnome.org/show_bug.cgi?id=781024

8 years agoglupload: fix GValue leak
Vincent Penquerc'h [Fri, 10 Mar 2017 16:57:51 +0000 (16:57 +0000)]
glupload: fix GValue leak

https://bugzilla.gnome.org/show_bug.cgi?id=779869

8 years agomeson: Only run decklink cpp test when building it
Nirbheek Chauhan [Thu, 13 Apr 2017 16:44:12 +0000 (22:14 +0530)]
meson: Only run decklink cpp test when building it

Otherwise it gets run on Windows with MSVC where we don't build
Decklink and then it causes an error.

8 years agowebrtcechoprobe: return from _read() early if the probe is not configured yet
George Kiagiadakis [Mon, 27 Mar 2017 15:14:54 +0000 (18:14 +0300)]
webrtcechoprobe: return from _read() early if the probe is not configured yet

https://bugzilla.gnome.org/show_bug.cgi?id=780642

8 years agotsparse: Convert PCR values immediately
Jan Schmidt [Mon, 27 Feb 2017 12:47:25 +0000 (23:47 +1100)]
tsparse: Convert PCR values immediately

Doing lazy conversion of PCR values doesn't work right
when a PCR discont is encountered. Instead, convert PCR
values to the continuous timestamp domain as soon as we
encounter them and store that instead.

8 years agoapplemedia: Fix video texture cache build issue on MacOS
Nick Kallen [Sat, 4 Mar 2017 11:12:52 +0000 (12:12 +0100)]
applemedia: Fix video texture cache build issue on MacOS

https://bugzilla.gnome.org/show_bug.cgi?id=779247

8 years agoapplemedia: ensure all textures are released before texturecache is released
Nick Kallen [Sun, 26 Feb 2017 09:24:46 +0000 (10:24 +0100)]
applemedia: ensure all textures are released before texturecache is released

It was previously possible for videotexturecache to be finalized before all of
its textures. Finalizing outstanding textures in this circumstance leads
to a crash. This patch ensure resources are freed in the proper order.

https://bugzilla.gnome.org/show_bug.cgi?id=779247

8 years agoadaptivemutex: Fix double mutex unlock
Thomas Bluemel [Mon, 27 Feb 2017 21:54:43 +0000 (14:54 -0700)]
adaptivemutex: Fix double mutex unlock

https://bugzilla.gnome.org/show_bug.cgi?id=779480

8 years agomeson: update version
Tim-Philipp Müller [Thu, 23 Feb 2017 17:23:13 +0000 (17:23 +0000)]
meson: update version

8 years agoRelease 1.10.4 1.10.4
Sebastian Dröge [Thu, 23 Feb 2017 13:55:38 +0000 (15:55 +0200)]
Release 1.10.4

8 years agoUpdate .po files
Sebastian Dröge [Thu, 23 Feb 2017 13:17:58 +0000 (15:17 +0200)]
Update .po files

8 years agobluez: Chain up to basesrc query instead of override pad query function
Arun Raghavan [Fri, 17 Feb 2017 10:39:53 +0000 (16:09 +0530)]
bluez: Chain up to basesrc query instead of override pad query function

Overriding the pad query function completely overrides all the default
query handling implemented in basesrc, including caps etc. The correct
thing to do is just override the basesrc query vfunc and then chain up
for the queries we don't handle.

8 years agowaylandsink: consider buffer size when copying to wl shm pool
Fabien Dessenne [Wed, 22 Feb 2017 09:35:26 +0000 (04:35 -0500)]
waylandsink: consider buffer size when copying to wl shm pool

When the sink receives a buffer that is neither a wl_shm one nor a
dmabuf one, this buffer is copied to an internal wl_shm buffer before
being sent to the display.
In that case, the actual size of the received buffer (which may differ
from the one negotiated in the caps) must be used.

https://bugzilla.gnome.org/show_bug.cgi?id=777841

8 years agohlsdemux: Fix GHashTable leak
Seungha Yang [Fri, 17 Feb 2017 12:25:21 +0000 (21:25 +0900)]
hlsdemux: Fix GHashTable leak

https://bugzilla.gnome.org/show_bug.cgi?id=778828

8 years agorawbaseparse: Drop incomplete frames at EOS
Sebastian Dröge [Sat, 18 Feb 2017 18:18:50 +0000 (20:18 +0200)]
rawbaseparse: Drop incomplete frames at EOS

See https://bugzilla.gnome.org/show_bug.cgi?id=773666

This would ideally be solved in baseparse but that requires further
thought at this point, and in the meantime it would be good to have
rawbaseparse not assert on this but handle it gracefully instead.

8 years agoBuilds for MacOS
Nick Kallen [Tue, 14 Feb 2017 12:04:01 +0000 (13:04 +0100)]
Builds for MacOS

https://bugzilla.gnome.org/show_bug.cgi?id=778434

8 years agoapplemedia: free videotexturecache texture in gl thread
Nick Kallen [Fri, 10 Feb 2017 10:32:23 +0000 (11:32 +0100)]
applemedia: free videotexturecache texture in gl thread

The cached texture was treated as user_data passed to GstGLBaseMemory
and freed with a GDestroyNotify function. However, this data must
be treated specially: it must be destroyed in the GL thread.

https://bugzilla.gnome.org/show_bug.cgi?id=778434

8 years agoGstGLSinkBin: fixed sink property leak
Juan Pablo Ugarte [Fri, 10 Feb 2017 13:29:49 +0000 (10:29 -0300)]
GstGLSinkBin: fixed sink property leak

No need to keep an extra reference to sink since an indirect one is added by gst_bin_add()

https://bugzilla.gnome.org/show_bug.cgi?id=778452

8 years agogl/window: attach the GMaincontext in window struct to GSource for X11 window
Haihua Hu [Tue, 7 Feb 2017 16:45:32 +0000 (00:45 +0800)]
gl/window: attach the GMaincontext in window struct to GSource for X11 window

https://bugzilla.gnome.org/show_bug.cgi?id=778297

8 years agoamcvideoenc: Set timestamps on header buffers too
Sebastian Dröge [Tue, 7 Feb 2017 17:42:47 +0000 (19:42 +0200)]
amcvideoenc: Set timestamps on header buffers too

https://bugzilla.gnome.org/show_bug.cgi?id=774772

8 years agoamcvideoenc: Encoder output is generally not properly parsed
Sebastian Dröge [Tue, 7 Feb 2017 17:44:54 +0000 (19:44 +0200)]
amcvideoenc: Encoder output is generally not properly parsed

Don't claim it is and let h264parse and other parsers do their job.

https://bugzilla.gnome.org/show_bug.cgi?id=774772

8 years agoamcvideoenc: Encoded H264 is generally not AU aligned
Sebastian Dröge [Tue, 7 Feb 2017 17:42:00 +0000 (19:42 +0200)]
amcvideoenc: Encoded H264 is generally not AU aligned

Claiming that it is, can cause h264parse to skip some parsing steps and
the output stays unaligned.

https://bugzilla.gnome.org/show_bug.cgi?id=774772

8 years agovkwindow: fix build error on i386
Matthew Waters [Wed, 1 Feb 2017 05:05:23 +0000 (16:05 +1100)]
vkwindow: fix build error on i386

Vulkan handles are either pointers (64-bit) or 64-bit integer
handles (32-bit). Cast the type in failure cases.

vkwindow.c:229:561: error: return makes integer from pointer without a cast [-Werror=int-conversion]
vkwindow.c:231:194: error: return makes integer from pointer without a cast [-Werror=int-conversion]

https://bugzilla.gnome.org/show_bug.cgi?id=777979

8 years agompegdemux: Add extra length checks to TS scanning.
Jan Schmidt [Wed, 1 Feb 2017 03:37:29 +0000 (14:37 +1100)]
mpegdemux: Add extra length checks to TS scanning.

Add some missing size checks to the timestamp scanning
fast path.

8 years agompegdemux: Add stream-format to the H.264 caps.
Jan Schmidt [Wed, 1 Feb 2017 03:44:32 +0000 (14:44 +1100)]
mpegdemux: Add stream-format to the H.264 caps.

H.264 in MPEG-PS is always byte-stream

8 years agopsdemux: Rewrite PSM parsing using GstByteReader
Jan Schmidt [Wed, 1 Feb 2017 03:25:32 +0000 (14:25 +1100)]
psdemux: Rewrite PSM parsing using GstByteReader

Avoid possible buffer overflows and ignore invalid PSM packets better
by using GstByteReader.

https://bugzilla.gnome.org/show_bug.cgi?id=777957

8 years agoadaptivedemux: Handle SEEK event only once
Seungha Yang [Sun, 1 Jan 2017 05:06:28 +0000 (14:06 +0900)]
adaptivedemux: Handle SEEK event only once

send_event() of parent class (i.e., GstBinClass) iterates srcpads
to send SEEK event. And performing it per srcpad is inefficient.
So, let's drop duplicated SEEK event by checking seqnum

https://bugzilla.gnome.org/show_bug.cgi?id=776612

8 years agoRelease 1.10.3
Sebastian Dröge [Mon, 30 Jan 2017 14:27:55 +0000 (16:27 +0200)]
Release 1.10.3

8 years agoUpdate .po files
Sebastian Dröge [Mon, 30 Jan 2017 13:47:54 +0000 (15:47 +0200)]
Update .po files

8 years agopo: Update translations
Sebastian Dröge [Mon, 30 Jan 2017 11:34:42 +0000 (13:34 +0200)]
po: Update translations

8 years agomotioncells: fix mingw build
Nicola Murino [Mon, 30 Jan 2017 10:17:53 +0000 (11:17 +0100)]
motioncells: fix mingw build

https://bugzilla.gnome.org/show_bug.cgi?id=777930

8 years agoapplemedia: Fail cleanly instead of crashing if obtaining a GL display failed
Sebastian Dröge [Thu, 26 Jan 2017 13:35:11 +0000 (15:35 +0200)]
applemedia: Fail cleanly instead of crashing if obtaining a GL display failed

https://bugzilla.gnome.org/show_bug.cgi?id=777742

8 years agotsdemux: Don't leak pad name and template for Opus
Sebastian Dröge [Fri, 20 Jan 2017 12:34:10 +0000 (14:34 +0200)]
tsdemux: Don't leak pad name and template for Opus

It's set again (the same way) further below, overwriting the previously
allocated memory without freeing.

https://bugzilla.gnome.org/show_bug.cgi?id=777533

8 years agomxfdemux: Set stream tags to NULL after unreffing
Sebastian Dröge [Fri, 20 Jan 2017 05:51:09 +0000 (07:51 +0200)]
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

8 years agotsdemux: Set caps/tags in the GstStream object before pushing the stream-start event
Sebastian Dröge [Tue, 24 Jan 2017 21:10:19 +0000 (23:10 +0200)]
tsdemux: Set caps/tags in the GstStream object before pushing the stream-start event

Otherwise downstream will get a more or less empty GstStream although we
already know a lot about it at this point.

8 years agopkg-config: Directly link the library with -l instead of the .la file
Sebastian Dröge [Mon, 23 Jan 2017 13:10:40 +0000 (15:10 +0200)]
pkg-config: Directly link the library with -l instead of the .la file

Which might not exist, like on most modern Linux distributions.

8 years agodvdspu: Handle vob display rect starting on an odd line
Jan Schmidt [Wed, 18 Jan 2017 00:05:21 +0000 (11:05 +1100)]
dvdspu: Handle vob display rect starting on an odd line

DVDs always have subpictures that start on an even Y
coordinate, but gstspu does more generic vobsubs these
days, so handle ones that start on an odd vertical position.

https://bugzilla.gnome.org/show_bug.cgi?id=777400

8 years agoglslstage: define GL constants if needed instead of using #ifdef
Juan Pablo Ugarte [Wed, 11 Jan 2017 13:37:34 +0000 (10:37 -0300)]
glslstage: define GL constants if needed instead of using #ifdef

https://bugzilla.gnome.org/show_bug.cgi?id=777144

8 years agogl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER
Juan Pablo Ugarte [Wed, 11 Jan 2017 13:32:23 +0000 (10:32 -0300)]
gl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER

https://bugzilla.gnome.org/show_bug.cgi?id=777143

8 years agogl: remove unneeded gst_gl_buffer_alloc from header file
Matthew Waters [Thu, 17 Nov 2016 14:06:51 +0000 (01:06 +1100)]
gl: remove unneeded gst_gl_buffer_alloc from header file

There's no implementation anymore!

8 years agoglcontext/egl: don't overwrite set GError
Matthew Waters [Mon, 9 Jan 2017 14:00:12 +0000 (01:00 +1100)]
glcontext/egl: don't overwrite set GError

Doing so is an error and will cause a glib warning to be printed.

https://bugzilla.gnome.org/show_bug.cgi?id=776722

8 years agoandroidmedia: Silently skip COLOR_FormatAndroidOpaque when converting to caps
Sebastian Dröge [Thu, 5 Jan 2017 13:00:21 +0000 (15:00 +0200)]
androidmedia: Silently skip COLOR_FormatAndroidOpaque when converting to caps

This is special and handled in the decoder when doing rendering to a
surface. Printing a warning for this is just unnecessary noise

8 years agouvch264src: Fix wrong argument order to force-key-unit event
Arun Raghavan [Mon, 2 Jan 2017 14:25:34 +0000 (19:55 +0530)]
uvch264src: Fix wrong argument order to force-key-unit event

CID 1373421

8 years agoandroidmedia: some files are missing in the release tarball
Ursula Maplehurst [Thu, 29 Dec 2016 18:56:43 +0000 (18:56 +0000)]
androidmedia: some files are missing in the release tarball

https://bugzilla.gnome.org/show_bug.cgi?id=776591

8 years agodash: Define debug category used in the isoff code for the test too now
Sebastian Dröge [Sat, 24 Dec 2016 06:42:51 +0000 (08:42 +0200)]
dash: Define debug category used in the isoff code for the test too now

8 years agodash: Include debug of gstisoff on dashdemux category
Seungha Yang [Sat, 24 Dec 2016 05:31:12 +0000 (14:31 +0900)]
dash: Include debug of gstisoff on dashdemux category

Move debug category of gstisoff from default to dashdemux

https://bugzilla.gnome.org/show_bug.cgi?id=776461

8 years agomeson: build decklink plugin
Tim-Philipp Müller [Thu, 5 Jan 2017 20:34:14 +0000 (20:34 +0000)]
meson: build decklink plugin

8 years agoautoconvert: fix a reconfigure event leak
Fabrice Bellet [Sat, 31 Dec 2016 19:57:54 +0000 (20:57 +0100)]
autoconvert: fix a reconfigure event leak

https://bugzilla.gnome.org/show_bug.cgi?id=776726

8 years agohlsdemux: Extract ID3 tags, strip them from the output and provide them as tags
Sebastian Dröge [Mon, 19 Dec 2016 09:40:28 +0000 (11:40 +0200)]
hlsdemux: Extract ID3 tags, strip them from the output and provide them as tags

They often don't only contain the PCR information but also other
metadata, like title. Give this information to the pipeline.

Also strip the tags from the stream as we a) already parsed them now and
b) decoders don't like these tags to happen in the middle of the stream
(i.e. the start of each fragment) and tagdemux only can strip them off
the beginning and end.

8 years agotsdemux: Don't leak a taglist if a taglist has already been created
Graham Leggett [Sun, 18 Dec 2016 19:18:23 +0000 (19:18 +0000)]
tsdemux: Don't leak a taglist if a taglist has already been created

https://bugzilla.gnome.org/show_bug.cgi?id=776244

8 years agomirror: Fix documentation for the mirror mode
Daniel Shahaf [Fri, 16 Dec 2016 11:25:58 +0000 (13:25 +0200)]
mirror: Fix documentation for the mirror mode

Using the wrong enum there causes it to be randomly mixed with the docs
of the other enums.

https://bugs.debian.org/848297

8 years agoamcaudiodec: Set "is-adts" to 1 for ADTS AAC
Sebastian Dröge [Thu, 15 Dec 2016 12:05:09 +0000 (14:05 +0200)]
amcaudiodec: Set "is-adts" to 1 for ADTS AAC

Otherwise it fails to decode.

https://bugzilla.gnome.org/show_bug.cgi?id=740101

8 years agovideoaggregator: Remove unlock() if set_info() fails
Sebastian Dröge [Wed, 14 Dec 2016 13:35:42 +0000 (15:35 +0200)]
videoaggregator: Remove unlock() if set_info() fails

There is not mutex locked here that needs to be unlocked.

8 years agogl/window: remove use of main_context_push/pop_thread_default()
Matthew Waters [Wed, 14 Dec 2016 13:59:45 +0000 (00:59 +1100)]
gl/window: remove use of main_context_push/pop_thread_default()

No-one's using/depending on it (it would have criticalled and not worked)
and it's causing more problems than it's solving.  Store the GMainContext
in the public struct instead for subclasses to optionally use instead of
relying on the push/pop state to be correct.

https://bugzilla.gnome.org/show_bug.cgi?id=775970

8 years agogl/effects: use non-PBO GLMemory for internal textures
Haihua Hu [Wed, 7 Dec 2016 08:51:27 +0000 (16:51 +0800)]
gl/effects: use non-PBO GLMemory for internal textures

middle textures in gleffects do not need to use GstGLMemoryPBO as they
aren't transfering data to/from the GPU. This will cost too much DMA
memory and cause performance issue. Change the allocator to use non-PBO
GstGLMemory.

https://bugzilla.gnome.org/show_bug.cgi?id=776072

8 years agodvbsrc: add delivery system to missing modulation check message
Reynaldo H. Verdejo Pinochet [Tue, 6 Dec 2016 23:40:38 +0000 (15:40 -0800)]
dvbsrc: add delivery system to missing modulation check message

A tuning operation can spawn multiple checks. Being
able to differentiate between them makes debugging
easier.

8 years agodvbsrc: fix unconditional use of FEC 2/5
Reynaldo H. Verdejo Pinochet [Thu, 8 Dec 2016 20:07:31 +0000 (12:07 -0800)]
dvbsrc: fix unconditional use of FEC 2/5

It is not defined for < v5 minor 7

8 years agoadaptivedemux: Avoid using unset GError
Edward Hervey [Mon, 12 Dec 2016 14:09:36 +0000 (15:09 +0100)]
adaptivedemux: Avoid using unset GError

gst_uri_handler_set_uri() doesn't guarantee the GError will be set
if it returns FALSE.

8 years agochromaprint: Fix compilation with chromaprint 1.4
Sebastian Dröge [Wed, 7 Dec 2016 08:26:59 +0000 (10:26 +0200)]
chromaprint: Fix compilation with chromaprint 1.4

It takes const int16_t * as argument now, while before it was void *. To
make this work with both versions without #ifdef, we omit the const.

8 years agovmncdec: Sanity-check rectangle sizes a bit more thorough
Sebastian Dröge [Tue, 6 Dec 2016 05:58:25 +0000 (07:58 +0200)]
vmncdec: Sanity-check rectangle sizes a bit more thorough

The x/y coordinates could already be bigger than the configured
width/height, and adding the rectangle width/height could cause an
overflow.

8 years agodvbsrc: fix unconditional use of SYS_DVBC_ANNEX_C
Reynaldo H. Verdejo Pinochet [Mon, 5 Dec 2016 23:56:36 +0000 (15:56 -0800)]
dvbsrc: fix unconditional use of SYS_DVBC_ANNEX_C

It is not defined for < v5 minor 6

8 years agodvbsrc: fix value for DVB-C annex B field in adapter structure
Reynaldo H. Verdejo Pinochet [Mon, 5 Dec 2016 23:53:10 +0000 (15:53 -0800)]
dvbsrc: fix value for DVB-C annex B field in adapter structure

8 years agorawvideoparse: fix typos in property description
Tim-Philipp Müller [Mon, 5 Dec 2016 18:17:30 +0000 (18:17 +0000)]
rawvideoparse: fix typos in property description

8 years agodtls: Set openssl's threadid the 1.0.x way
Scott D Phillips [Mon, 28 Nov 2016 23:57:33 +0000 (15:57 -0800)]
dtls: Set openssl's threadid the 1.0.x way

For pre-1.1.x openssl, a callback to set the thread id needs to be
provided to openssl. In 0.9.x the thread id was an unsigned long. In
1.0.x it was expanded to be able to hold a void*. Here we change to use
the 1.0.x API so that the thread id can always hold a GThread*, even on
platforms like msvc x64 where unsigned long is only 32 bits.

All of this is still #ifdef'd out of existence when building with
openssl 1.1.x or later which changed the thread API again, and does not
need a thread id callback.

https://bugzilla.gnome.org/show_bug.cgi?id=775292

8 years agogst: Fix caps leak
Garima Gaur [Wed, 30 Nov 2016 05:10:42 +0000 (10:40 +0530)]
gst: Fix caps leak

https://bugzilla.gnome.org/show_bug.cgi?id=775072

8 years agoRelease 1.10.2
Sebastian Dröge [Tue, 29 Nov 2016 14:21:40 +0000 (16:21 +0200)]
Release 1.10.2

8 years agoUpdate .po files
Sebastian Dröge [Tue, 29 Nov 2016 13:52:17 +0000 (15:52 +0200)]
Update .po files

8 years agopo: Update translations
Sebastian Dröge [Tue, 29 Nov 2016 12:10:26 +0000 (14:10 +0200)]
po: Update translations

8 years agompegtssection: Fix off-by-one in PMT parsing
Sebastian Dröge [Mon, 28 Nov 2016 18:05:02 +0000 (20:05 +0200)]
mpegtssection: Fix off-by-one in PMT parsing

8 years agompegtssection: Don't assert if the given section length is longer than the PMT actual...
Sebastian Dröge [Mon, 28 Nov 2016 17:52:24 +0000 (19:52 +0200)]
mpegtssection: Don't assert if the given section length is longer than the PMT actually is

Instead error out cleanly and just assert that we didn't read more than
the available data.

8 years agodecklink: Correctly set top-field-first/bottom-field-first
Sebastian Dröge [Mon, 28 Nov 2016 15:17:43 +0000 (17:17 +0200)]
decklink: Correctly set top-field-first/bottom-field-first

First of all, all the HD and UHD modes should be top-field-first, as
also returned by the Decklink mode iterator API.

Then we should include the caps field "field-order" in the caps of the
source (not the sink due to negotiation problems with optional fields).

And finally we should set the TFF flag on interlaced buffers that are
top-field-first.

8 years agotsdemux: Post an error message on the bus if we activated a program without pads
Sebastian Dröge [Mon, 28 Nov 2016 08:27:56 +0000 (10:27 +0200)]
tsdemux: Post an error message on the bus if we activated a program without pads

Otherwise decodebin and applications are going to wait forever for pads
to appear, which is never going to happen.

Happens on this stream, which probably just need support for it added:
https://samples.mplayerhq.hu/3D/AVC_codec_in_m2ts_not_recognized/AVC_codec_not_recognized_right_video_sample.m2ts

8 years agom3u8: Mark uri_join() function as static
Sebastian Dröge [Mon, 28 Nov 2016 08:49:23 +0000 (10:49 +0200)]
m3u8: Mark uri_join() function as static

We don't really want to export this, especially not without any
namespacing. This can cause problems for static builds.

8 years agoglwindow: move g_main_context_push/pop_thread_default() to run()
Matthew Waters [Mon, 28 Nov 2016 03:22:05 +0000 (14:22 +1100)]
glwindow: move g_main_context_push/pop_thread_default() to run()

Calling g_main_context_push_thread and then g_main_context_invoke()
(used by gst_gl_window_send_message_async()) in the same thread will
cause the invoked function to run immediately instead of being delayed.

This had implications for the creation of the OpenGL context not waiting
until the main loop had completely started up and as a result would
sometimes deadlock in short create/destroy scenarios.

https://bugzilla.gnome.org/show_bug.cgi?id=775171

8 years agoglcontext: fix race between creation/shutdown
Matthew Waters [Mon, 28 Nov 2016 03:19:18 +0000 (14:19 +1100)]
glcontext: fix race between creation/shutdown

626bcccff96f624f59c5212b3e21e472240171fd removed some locks that
allowed the main loop quit to occur before the context was fully
created.

2776cef25d2a98668b73272aecfe77e684e6627e attempted to readd them but
missed the scop of the quit() call.

Also remove the use of g_thread_join() as that's not safe to use when
it's possible to lose the last reference from the GL thread.

https://bugzilla.gnome.org/show_bug.cgi?id=775171

8 years agorawbaseparse: Fix output buffer size trimming
Sebastian Dröge [Sun, 27 Nov 2016 10:40:53 +0000 (12:40 +0200)]
rawbaseparse: Fix output buffer size trimming

For frame->buffer, baseparse is doing that automatically for us. For
frame->output_buffer it doesn't and assumes that the subclass is already
doing that. Consistency!

8 years agodash: Fix stripping of space at the beginning/end of durations
Sebastian Dröge [Sun, 27 Nov 2016 10:20:11 +0000 (12:20 +0200)]
dash: Fix stripping of space at the beginning/end of durations

The way how strchr() was called here, it could easily read after the end
of the string. Use g_ascii_isspace() instead.

Detected by asan in the unit test.

8 years agorawparse: Properly align raw audio/video output buffers
Sebastian Dröge [Sun, 27 Nov 2016 09:44:14 +0000 (11:44 +0200)]
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

8 years agomxfdemux: Post an error message if we got EOS before having any source pads
Sebastian Dröge [Sat, 26 Nov 2016 10:28:57 +0000 (12:28 +0200)]
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.

8 years agoh264parse: Fix indentation
Sebastian Dröge [Sat, 26 Nov 2016 10:16:39 +0000 (12:16 +0200)]
h264parse: Fix indentation

8 years agoh265parse: Fix assertion when encountering an invalid NALU
Sebastian Dröge [Sat, 26 Nov 2016 10:16:18 +0000 (12:16 +0200)]
h265parse: Fix assertion when encountering an invalid NALU

Error out properly instead.

https://bugzilla.gnome.org/show_bug.cgi?id=775130

8 years agoh264parse: Fix assertion when encountering an invalid NALU
Sebastian Dröge [Sat, 26 Nov 2016 10:15:50 +0000 (12:15 +0200)]
h264parse: Fix assertion when encountering an invalid NALU

Error out properly instead.

https://bugzilla.gnome.org/show_bug.cgi?id=775130

8 years agompegtssection: Add more section size checks
Edward Hervey [Sat, 26 Nov 2016 09:44:43 +0000 (10:44 +0100)]
mpegtssection: Add more section size checks

The smallest section ever needs to be at least 3 bytes (i.e. just the short
header).
Non-short headers need to be at least 11 bytes long (3 for the minimum header,
5 for the non-short header, and 4 for the CRC).

https://bugzilla.gnome.org/show_bug.cgi?id=775048

8 years agompegtssection: Fix PAT parsing
Edward Hervey [Sat, 26 Nov 2016 09:23:01 +0000 (10:23 +0100)]
mpegtssection: Fix PAT parsing

Use the estimated number of programs for parsing. Avoids over-reading.

https://bugzilla.gnome.org/show_bug.cgi?id=775120

8 years agohlsdemux: Handle GST_SEEK_TYPE_NONE seek
Edward Hervey [Sat, 26 Nov 2016 08:26:36 +0000 (09:26 +0100)]
hlsdemux: Handle GST_SEEK_TYPE_NONE seek

When one is only updating the "stop" position (i.e. non-flushing seek,
with GST_SEEK_TYPE_NONE on the "start" (or stop in reverse) position),
we only need to store those values instead of moving the current position.

https://bugzilla.gnome.org/show_bug.cgi?id=775127

8 years agomxfdemux: Fix up another size check and prevent allocating too much memory
Sebastian Dröge [Fri, 25 Nov 2016 14:46:45 +0000 (16:46 +0200)]
mxfdemux: Fix up another size check and prevent allocating too much memory

8 years agomxfdemux: Handle zero-sized KLV items better and don't assert on them
Sebastian Dröge [Fri, 25 Nov 2016 13:59:44 +0000 (15:59 +0200)]
mxfdemux: Handle zero-sized KLV items better and don't assert on them

8 years agomxfdemux: Fix various logic errors in error handling of footer partition parsing
Sebastian Dröge [Fri, 25 Nov 2016 13:53:50 +0000 (15:53 +0200)]
mxfdemux: Fix various logic errors in error handling of footer partition parsing

8 years agomxfdemux: Don't try parsing empty metadata items
Sebastian Dröge [Fri, 25 Nov 2016 13:53:36 +0000 (15:53 +0200)]
mxfdemux: Don't try parsing empty metadata items

8 years agomxfmetadata: Add missing NULL check
Sebastian Dröge [Thu, 24 Nov 2016 23:06:45 +0000 (01:06 +0200)]
mxfmetadata: Add missing NULL check

8 years agomxf: Remove mxfdms1.[ch] from the build for now
Sebastian Dröge [Thu, 24 Nov 2016 17:45:10 +0000 (19:45 +0200)]
mxf: Remove mxfdms1.[ch] from the build for now

It's completely unused currently but might be used in the future.

8 years agomxfdemux: Add various missing bounds checks, NULL checks and integer overflow protect...
Sebastian Dröge [Thu, 24 Nov 2016 21:36:22 +0000 (23:36 +0200)]
mxfdemux: Add various missing bounds checks, NULL checks and integer overflow protection for error cases

8 years agodecklinkvideosrc: Free timecodes when done with a frame
Sebastian Dröge [Thu, 24 Nov 2016 12:48:35 +0000 (14:48 +0200)]
decklinkvideosrc: Free timecodes when done with a frame

8 years agotimecodestamper: Remove all existing timecode metas if requested to override existing
Sebastian Dröge [Thu, 24 Nov 2016 12:41:59 +0000 (14:41 +0200)]
timecodestamper: Remove all existing timecode metas if requested to override existing

8 years agodashdemux: Fix leak in gst_dash_demux_stream_free
Seungha Yang [Sat, 19 Nov 2016 07:12:06 +0000 (16:12 +0900)]
dashdemux: Fix leak in gst_dash_demux_stream_free

Free parsed moof and sync samples with _stream_free().

https://bugzilla.gnome.org/show_bug.cgi?id=774702