platform/upstream/gstreamer.git
9 years agogldeinterlace: ref the uploaded buffer
Matthew Waters [Tue, 14 Oct 2014 12:00:11 +0000 (14:00 +0200)]
gldeinterlace: ref the uploaded buffer

Instead of the possibly non-GL input buffer.

9 years agoglfilter: add uploaded_buffer field
Matthew Waters [Tue, 14 Oct 2014 14:41:51 +0000 (16:41 +0200)]
glfilter: add uploaded_buffer field

9 years agovc1parse: parse frame header when stream format is ASF/raw for simple/main profile
Aurélien Zanelli [Mon, 22 Sep 2014 07:44:14 +0000 (09:44 +0200)]
vc1parse: parse frame header when stream format is ASF/raw for simple/main profile

When stream-format is ASF or sequence-layer-raw-frame, we basically have
a raw frame so we can parse it to extract some information such the
keyframe flag. The only requirement is to have a valid sequence-header.

This commit parse the frame header and set the DELTA_UNIT buffer flag in
case the frame is not a keyframe.

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

9 years agolibde265: Change rank to SECONDARY, gst-libav has PRIMARY rank
Sebastian Dröge [Tue, 14 Oct 2014 08:51:22 +0000 (10:51 +0200)]
libde265: Change rank to SECONDARY, gst-libav has PRIMARY rank

9 years agoIntegrate libde265 into gst-plugins-bad.
Joachim Bauch [Wed, 17 Sep 2014 08:38:44 +0000 (10:38 +0200)]
Integrate libde265 into gst-plugins-bad.

9 years agovc1parse: just assume none header-format when no codec_data is present
Aurélien Zanelli [Mon, 13 Oct 2014 12:05:24 +0000 (14:05 +0200)]
vc1parse: just assume none header-format when no codec_data is present

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

9 years agovtdec: Set reorder length to 0 if we can't calculate it
Sebastian Dröge [Tue, 14 Oct 2014 07:19:59 +0000 (09:19 +0200)]
vtdec: Set reorder length to 0 if we can't calculate it

Instead of leaving it at whatever value it had before.

9 years agoglimagesink: Only finalize the other context in finalize()
Sebastian Dröge [Mon, 13 Oct 2014 11:28:57 +0000 (13:28 +0200)]
glimagesink: Only finalize the other context in finalize()

Otherwise we change a value of a property when going to READY state,
which is unexpected behaviour.

9 years agoglmixer: Call the pad's parent class finalize method
Sebastian Dröge [Mon, 13 Oct 2014 11:27:55 +0000 (13:27 +0200)]
glmixer: Call the pad's parent class finalize method

9 years agoglmixer: Only finalize the other context in finalize()
Sebastian Dröge [Mon, 13 Oct 2014 11:27:11 +0000 (13:27 +0200)]
glmixer: Only finalize the other context in finalize()

Otherwise we change a value of a property when going to READY state,
which is unexpected behaviour.

9 years agogltestsrc: Add other-context property
Sebastian Dröge [Mon, 13 Oct 2014 11:25:42 +0000 (13:25 +0200)]
gltestsrc: Add other-context property

9 years agoglimagesink: Don't leak other-context
Sebastian Dröge [Mon, 13 Oct 2014 09:56:03 +0000 (11:56 +0200)]
glimagesink: Don't leak other-context

9 years agoglmixer: Add other-context property
Sebastian Dröge [Mon, 13 Oct 2014 09:53:47 +0000 (11:53 +0200)]
glmixer: Add other-context property

9 years agodvb: make interleaving a prop and proxy on dvbbasebin
Reynaldo H. Verdejo Pinochet [Mon, 13 Oct 2014 00:25:16 +0000 (21:25 -0300)]
dvb: make interleaving a prop and proxy on dvbbasebin

DTV_INTERLEAVING is currently used only for DTBM. This is
congruent with the v4l dvb API where the different interleaving
modes where added for v5.7

9 years agodvbsrc: add transmission mode checks for DVB-T/T2
Reynaldo H. Verdejo Pinochet [Sun, 12 Oct 2014 21:30:38 +0000 (18:30 -0300)]
dvbsrc: add transmission mode checks for DVB-T/T2

These and every sanity check leading to a warning
(we have a few in place) should come handy when
debuging failed tunning scenarios.

9 years agodvbsrc: docs, drop v5 API change history comments < .5
Reynaldo H. Verdejo Pinochet [Sun, 12 Oct 2014 16:34:09 +0000 (13:34 -0300)]
dvbsrc: docs, drop v5 API change history comments < .5

We only support from minor 5 and up now. Also add a
note about the recently added preliminar DTMB support.

9 years agodvbsrc: add missing DVB-T2 bandwidth types
Reynaldo H. Verdejo Pinochet [Sun, 12 Oct 2014 16:08:13 +0000 (13:08 -0300)]
dvbsrc: add missing DVB-T2 bandwidth types

DVB-T2 supports 5, 10 and 1.712 MHz

Order of the enum values (new values after _AUTO)
has been kept congruent with the one in the v4l
API for consistency

9 years agowaylandsink: do not render twice the same buffer
Benjamin Gaignard [Tue, 7 Oct 2014 08:37:33 +0000 (10:37 +0200)]
waylandsink: do not render twice the same buffer

Do not try to render a buffer that is already being rendered.
This happens typically during the initial rendering stage as the first
buffer is rendered twice: first by preroll(), then by render().
This commit avoids this assertion failure:
  CRITICAL: gst_wayland_compositor_acquire_buffer: assertion
  'meta->used_by_compositor == FALSE' failed

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

Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
9 years agowaylandsink : Allow surface to catch input events
Tifaine Inguere [Thu, 24 Jul 2014 14:53:53 +0000 (16:53 +0200)]
waylandsink : Allow surface to catch input events

If waylandsink is the owner of the display then it is in charge
of catching input events on the surface.

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

Signed-off-by: Tifaine Inguere <tifaine.inguere@st.com>
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
9 years agowaylandsink: take into account the case where a pool may be destroyed together with...
George Kiagiadakis [Wed, 2 Jul 2014 10:29:55 +0000 (13:29 +0300)]
waylandsink: take into account the case where a pool may be destroyed together with GstWlDisplay

There are two cases covered here:
1) The GstWlDisplay forces the release of the last buffer and the pool
   gets destroyed in this context, which means it unregisters all the
   other buffers from the GstWlDisplay as well and the display->buffers
   hash table gets corrupted because it is iterating.
2) The pool and its buffers get destroyed concurrently from another
   thread while GstWlDisplay is finalizing and many things get corrupted.

9 years agowaylandsink: stack the video subsurface into another subsurface that covers the whole...
George Kiagiadakis [Tue, 1 Jul 2014 08:43:20 +0000 (11:43 +0300)]
waylandsink: stack the video subsurface into another subsurface that covers the whole render rectangle

The main reason behind this is that when the video caps change and the video
subsurface needs to resize and change position, the wl_subsurface.set_position
call needs a commit in its parent in order to take effect. Previously,
the parent was the application's surface, over which there is no control.
Now, the parent is inside the sink, so we can commit it and change size smoothly.

As a side effect, this also allows the sink to draw its black borders on
its own, without the need for the application to do that. And another side
effect is that this can now allow resizing the sink when it is in top-level
mode and have it respect the aspect ratio.

9 years agowaylandsink: rename video format conversion functions to indicate they are about...
George Kiagiadakis [Fri, 20 Jun 2014 13:24:36 +0000 (16:24 +0300)]
waylandsink: rename video format conversion functions to indicate they are about wl_shm

Needed to add linux_dmabuf format conversion functions later

9 years agowaylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not...
George Kiagiadakis [Mon, 23 Jun 2014 14:27:01 +0000 (17:27 +0300)]
waylandsink: remove the ugly gst_wl_display_stop() now that this mechanism is not needed anymore

Because we no longer have a custom buffer pool that holds a reference
to the display, there is no way for a cyclic reference to happen like
before, so we no longer need to explicitly call a function from the
display to release the wl_buffers.

However, the general mechanism of registering buffers to the display
and forcibly releasing them when the display is destroyed is still
needed to avoid potential memory leaks. The comment in wlbuffer.c
is updated to reflect the current situation.

9 years agowaylandsink: replace the custom buffer pool with an allocator
George Kiagiadakis [Mon, 23 Jun 2014 13:40:02 +0000 (16:40 +0300)]
waylandsink: replace the custom buffer pool with an allocator

This reduces the complexity of having a custom buffer pool, as
we don't really need it. We only need the custom allocation part.
And since the wl_buffer is no longer saved in a GstMeta, we can
create it and add it on the buffers in the sink's render()
function, which removes the reference cycle caused by the pool
holding a reference to the display and also allows more generic
scenarios (the allocator being used in another pool, or buffers
being allocated without a pool [if anything stupid does that]).

This commit also simplifies the propose_allocation() function,
which doesn't really need to do all these complicated checks,
since there is always a correct buffer pool available, created
in set_caps().

The other side effect of this commit is that a new wl_shm_pool
is now created for every GstMemory, which means that we use
as much shm memory as we actually need and no more. Previously,
the created wl_shm_pool would allocate space for 15 buffers, no
matter if they were being used or not.

9 years agowaylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer...
George Kiagiadakis [Fri, 20 Jun 2014 11:47:57 +0000 (14:47 +0300)]
waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release

This also removes the GstWlMeta and adds a wrapper class for wl_buffer
which is saved in the GstBuffer qdata instead of being a GstMeta.

The motivation behind this is mainly to allow attaching wl_buffers on
GstBuffers that have not been allocated inside the GstWaylandBufferPool,
so that if for example an upstream element is sending us a buffer
from a different pool, which however does not need to be copied
to a buffer from our pool because it may be a hardware buffer
(hello dmabuf!), we can create a wl_buffer directly from it and first,
attach it on it so that we don't have to re-create a wl_buffer every
time the same GstBuffer arrives and second, force the whole mechanism
for keeping the buffer out of the pool until there is a wl_buffer::release
on that foreign GstBuffer.

9 years agoschrodec: optimize parse logic
Vineeth T M [Thu, 9 Oct 2014 02:50:15 +0000 (08:20 +0530)]
schrodec: optimize parse logic

Header will be read each and everytime parse function will be called
which is not necessary since until we have complete data,
we need not parse the header again.

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

9 years agofluiddec: don't leak incoming caps event
Tim-Philipp Müller [Fri, 10 Oct 2014 12:05:49 +0000 (13:05 +0100)]
fluiddec: don't leak incoming caps event

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

9 years agovc1parse: fix framesize when input is frame-layer
Aurélien Zanelli [Thu, 9 Oct 2014 16:18:02 +0000 (18:18 +0200)]
vc1parse: fix framesize when input is frame-layer

frame-layer header is represented as a sequence of 32 bit unsigned
integer serialized in little-endian byte order, so framesize is on the
first 3 bytes.

SMPTE 421M Annex L.

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

9 years agomidiparse: mention fluiddec instead of fluidsynth
Antonio Ospite [Tue, 7 Oct 2014 15:05:04 +0000 (17:05 +0200)]
midiparse: mention fluiddec instead of fluidsynth

The element name is actually fluiddec even if it uses fluidsynth.

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

9 years agofluiddec: fix some memory leaks
Antonio Ospite [Thu, 9 Oct 2014 09:51:16 +0000 (11:51 +0200)]
fluiddec: fix some memory leaks

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

9 years agopcapparse: Add support for LINKTYPE_RAW
David Woodhouse [Thu, 9 Oct 2014 08:11:00 +0000 (04:11 -0400)]
pcapparse: Add support for LINKTYPE_RAW

Also, strictly speaking, these numbers aren't DLT_*; they are LINKTYPE_* because
libpcap translates from internal OS-specific DLT_ numbering to the portable
LINKTYPE_ number space when writing files.

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

9 years agotest: use G_GSIZE_FORMAT in audiomixer test
Aurélien Zanelli [Thu, 9 Oct 2014 12:51:56 +0000 (14:51 +0200)]
test: use G_GSIZE_FORMAT in audiomixer test

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

9 years agotests/aggregator: add timeout handling test for the timeout parameter
Matthew Waters [Tue, 7 Oct 2014 05:57:27 +0000 (16:57 +1100)]
tests/aggregator: add timeout handling test for the timeout parameter

9 years agoaggregator: add latency query handling
Matthew Waters [Mon, 6 Oct 2014 10:46:24 +0000 (21:46 +1100)]
aggregator: add latency query handling

9 years agovideoaggregator: support unresponsive pads
Matthew Waters [Mon, 6 Oct 2014 07:33:52 +0000 (18:33 +1100)]
videoaggregator: support unresponsive pads

Render unresponsive pads with the last video frame received.

9 years agoaggregator: add a timeout property determining buffer wait time
Matthew Waters [Mon, 6 Oct 2014 07:23:03 +0000 (18:23 +1100)]
aggregator: add a timeout property determining buffer wait time

Determines the amount of time that a pad will wait for a buffer before
being marked unresponsive.

Network sources may fail to produce buffers for an extended period of time,
currently causing the pipeline to stall possibly indefinitely, waiting for
these buffers to appear.

Subclasses should render unresponsive pads with either silence (audio), the
last (video) frame or what makes the most sense in the given context.

9 years agovideoaggregator: remove the use of the queued buffer on sink pads
Matthew Waters [Mon, 6 Oct 2014 07:10:38 +0000 (18:10 +1100)]
videoaggregator: remove the use of the queued buffer on sink pads

That data is now held by the aggregator class

9 years agoh265parse: expose parsed profile, tier and level to downstream
Sebastian Dröge [Thu, 9 Oct 2014 08:46:23 +0000 (11:46 +0300)]
h265parse: expose parsed profile, tier and level to downstream

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

9 years agoh264parse: expose parsed profile and level to downstream
Sreerenj Balachandran [Wed, 8 Oct 2014 22:18:16 +0000 (01:18 +0300)]
h264parse: expose parsed profile and level to downstream

Set parsed profile and level in src caps.

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

9 years agogl/cocoa: Add support for HiDPI displays
Sebastian Dröge [Thu, 9 Oct 2014 07:54:35 +0000 (10:54 +0300)]
gl/cocoa: Add support for HiDPI displays

Without this our GL surface would be upscaled after rendering
by Cocoa, which would reduce image quality.

9 years agoglcolorconvert: output why we cannot convert a buffer
Matthew Waters [Thu, 9 Oct 2014 01:28:11 +0000 (12:28 +1100)]
glcolorconvert: output why we cannot convert a buffer

9 years agoglcolorconvert: fix planar YUV download
Matthew Waters [Thu, 9 Oct 2014 01:25:55 +0000 (12:25 +1100)]
glcolorconvert: fix planar YUV download

- sample the u and v planes properly
- output the correctly scaled u and v planes for different chroma block sizes

9 years agogloverlay: And fix another unused variable compiler warning
Vivia Nikolaidou [Wed, 8 Oct 2014 18:51:12 +0000 (21:51 +0300)]
gloverlay: And fix another unused variable compiler warning

9 years agogloverlay: Fix unused variable compiler warning when compiling without desktop GL
Vivia Nikolaidou [Wed, 8 Oct 2014 18:49:25 +0000 (21:49 +0300)]
gloverlay: Fix unused variable compiler warning when compiling without desktop GL

9 years agozbar: Add YVU9 and YUV9 to ZBAR_YUV_CAPS
Anuj Jaiswal [Fri, 26 Sep 2014 08:25:20 +0000 (13:55 +0530)]
zbar: Add YVU9 and YUV9 to ZBAR_YUV_CAPS

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

9 years agogltestsrc: implement checkers pattern with GLSL
Wang Xin-yu (王昕宇) [Sun, 28 Sep 2014 02:51:09 +0000 (10:51 +0800)]
gltestsrc: implement checkers pattern with GLSL

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

9 years agohlsdemux: Fix M3U8 parsing unit test after API changes
Sebastian Dröge [Tue, 7 Oct 2014 12:24:10 +0000 (15:24 +0300)]
hlsdemux: Fix M3U8 parsing unit test after API changes

9 years agohlsdemux: Fix accessing invalidated memory
Thomas Bluemel [Thu, 2 Oct 2014 16:37:57 +0000 (10:37 -0600)]
hlsdemux: Fix accessing invalidated memory

In gst_hls_demux_get_next_fragment() the next fragment URI gets
stored in next_fragment_uri, but the gst_hls_demux_updates_loop()
can at any time update the playlist, rendering this string invalid.
Therefore, any data (like key, iv, URIs) that is taken from a
GstM3U8Client needs to be copied. In addition, accessing the
internals of a GstM3U8Client requires locking.

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

9 years agompegts: fix typos in comments
Felix Schwarz [Tue, 7 Oct 2014 10:12:04 +0000 (12:12 +0200)]
mpegts: fix typos in comments

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

9 years agoglcolorconvert: fix UYVY download green screen
Matthew Waters [Tue, 7 Oct 2014 12:04:30 +0000 (23:04 +1100)]
glcolorconvert: fix UYVY download green screen

9 years agoglcolrconvert: fix YUY2 download
Matthew Waters [Tue, 7 Oct 2014 11:50:22 +0000 (22:50 +1100)]
glcolrconvert: fix YUY2 download

- The shader was outputing the wrong values compared with raw
  videotestsrc.
- deal with the texture edge properly.
- properly sample the 2x1 rectangle for the u and v values
- don't double sample the y value

9 years agocurlsmtpsink: Set CURLOPT_UPLOAD to 1 to not use VRFY and other unneeded commands
Vivia Nikolaidou [Mon, 6 Oct 2014 18:25:30 +0000 (21:25 +0300)]
curlsmtpsink: Set CURLOPT_UPLOAD to 1 to not use VRFY and other unneeded commands

Fixes the sink with SMTP servers that disable VRFY for spam protection.

http://sourceforge.net/p/curl/bugs/1389/

9 years agoaggregator: Replace GMainContext with GAsyncQueue (v2)
Jan Alexander Steffens (heftig) [Wed, 17 Sep 2014 14:48:02 +0000 (16:48 +0200)]
aggregator: Replace GMainContext with GAsyncQueue (v2)

The previous implementation kept accumulating GSources,
slowing down the iteration and leaking memory.

Instead of trying to fix the main context flushing, replace
it with a GAsyncQueue which is simple to flush and has
less overhead.

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

9 years agoaudiomixer: Handle seek event in READY state
Thibault Saunier [Mon, 6 Oct 2014 11:09:00 +0000 (13:09 +0200)]
audiomixer: Handle seek event in READY state

9 years agoaudiomixer: Set the sinkpad segments basetime after seeking
Thibault Saunier [Mon, 21 Jul 2014 09:07:19 +0000 (11:07 +0200)]
audiomixer: Set the sinkpad segments basetime after seeking

Otherwise stream offset and running time comparison will not be
correct, leading to segfaults after seeks

9 years agoaudiomixer: Port to GstAggregator
Thibault Saunier [Wed, 28 May 2014 14:29:37 +0000 (16:29 +0200)]
audiomixer: Port to GstAggregator

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

Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

9 years agovideoaggregator: Do not wrongly set the aggregator.segment
Thibault Saunier [Tue, 23 Sep 2014 13:59:10 +0000 (15:59 +0200)]
videoaggregator: Do not wrongly set the aggregator.segment

The aggregator.segment is not to be initialized by the subclasses but
by the aggregator itself. Moreover, initializing it on start would make
us loose the information coming from the initial seek.

9 years agovideoaggregator: Make sure not to unref a NULL pointer
Thibault Saunier [Wed, 30 Jul 2014 09:57:46 +0000 (11:57 +0200)]
videoaggregator: Make sure not to unref a NULL pointer

9 years agoaggregator: Set seqnum only when segments are received.
Mathieu Duponchelle [Tue, 5 Aug 2014 13:36:30 +0000 (15:36 +0200)]
aggregator: Set seqnum only when segments are received.

9 years agoaggregator: Add a streaming lock so to secure flush start action
Thibault Saunier [Sat, 2 Aug 2014 16:25:01 +0000 (18:25 +0200)]
aggregator: Add a streaming lock so to secure flush start action

Without a lock that is taken in FLUSH_START we had a rare race where we
end up aggregating a buffer that was before the whole FLUSH_START/STOP
dance. That could lead to very wrong behaviour in subclasses.

9 years agoaggregator: Query seeking when a seek failed to see if it was expected
Thibault Saunier [Fri, 18 Jul 2014 11:58:55 +0000 (13:58 +0200)]
aggregator: Query seeking when a seek failed to see if it was expected

And do not worry if seeking failed on a stream that is not seekable

9 years agoaggregator: set future seqnum before propagating the seek event.
Mathieu Duponchelle [Thu, 17 Jul 2014 23:41:26 +0000 (01:41 +0200)]
aggregator: set future seqnum before propagating the seek event.

So the seqnum is properly set for the following events.

9 years agoaggregator: Store segment when seeked in READY for later use
Thibault Saunier [Tue, 8 Jul 2014 14:16:55 +0000 (16:16 +0200)]
aggregator: Store segment when seeked in READY for later use

9 years agoopenh264: Use a MARGINAL rank for the encoder and decoder
Sebastian Dröge [Mon, 6 Oct 2014 13:44:51 +0000 (16:44 +0300)]
openh264: Use a MARGINAL rank for the encoder and decoder

They work but for now we prefer others until these are extensively tested.

9 years agocurlsmtpsink: Email with multipart content-type should end with a final boundary
Lihua Liu [Wed, 1 Oct 2014 08:57:26 +0000 (10:57 +0200)]
curlsmtpsink: Email with multipart content-type should end with a final boundary

    Add final boundary for each of the sending out emails from smtpsink.

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

9 years agovideoparser: comment unused GST_BASE_PARSE_FRAME_FLAG_PARSING
Vineeth T M [Mon, 6 Oct 2014 10:44:12 +0000 (11:44 +0100)]
videoparser: comment unused GST_BASE_PARSE_FRAME_FLAG_PARSING

GST_BASE_PARSE_FRAME_FLAG_PARSING value is wrong, and the same flag is
not being used presently. Hence changing the value and commenting it out.
This needs to be included in baseparse.h later on

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

9 years agoopenh264enc: make denoise work
Nicola Murino [Sat, 4 Oct 2014 18:55:08 +0000 (20:55 +0200)]
openh264enc: make denoise work

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

9 years agovideoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors
Sebastian Dröge [Mon, 6 Oct 2014 07:11:47 +0000 (10:11 +0300)]
videoaggregator: Unmap and free GstVideoFrames as needed after conversion and errors

9 years agoaggregator: Unref the taglist in GstAggregator::stop()
Sebastian Dröge [Mon, 6 Oct 2014 07:11:23 +0000 (10:11 +0300)]
aggregator: Unref the taglist in GstAggregator::stop()

9 years agodvbsrc: add preliminary support for DTMB
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 23:42:58 +0000 (20:42 -0300)]
dvbsrc: add preliminary support for DTMB

Previously known as DMB-T/H, this is the
terrestial DTV broadcast standard currently
used by the People's Republic of China,
Hong Kong, Laos and Macau (officially),
and by Malaysia, Iraq, Jordan, Syria and
Lebanon (experimentally).

9 years agodvbsrc: add missing standard transmission modes
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 23:20:30 +0000 (20:20 -0300)]
dvbsrc: add missing standard transmission modes

These apply to ISDB-T, DVB-T2 and DTMB

Order of the enum values (new rates after _AUTO)
has been kept congruent with the one in the v4l
API for consistency.

9 years agodvbsrc: add missing DTMB guard intervals
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 23:03:27 +0000 (20:03 -0300)]
dvbsrc: add missing DTMB guard intervals

9 years agodvbsrc: add missing DVB-T2 guard intervals
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 22:55:02 +0000 (19:55 -0300)]
dvbsrc: add missing DVB-T2 guard intervals

According to the v4l-dvb API docs, these are only
used for DVB-T2 at the moment.

Order of the enum values (new rates after _AUTO)
has been kept congruent with the one in the v4l
API for consistency.

9 years agompegts: fix typo in GstMpegtsExtendedEventDescriptor doc
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 22:20:03 +0000 (19:20 -0300)]
mpegts: fix typo in GstMpegtsExtendedEventDescriptor doc

9 years agodvbsrc: add _MUTABLE_PLAYING to tuning props
Reynaldo H. Verdejo Pinochet [Fri, 3 Oct 2014 22:06:21 +0000 (19:06 -0300)]
dvbsrc: add _MUTABLE_PLAYING to tuning props

The element can (re)tune while playing so basically
every property used at set_fe_params() can be set
in state <= PLAYING.

9 years agoopenh264dec: The codec can only do baseline so simplify the code a bit
Sebastian Dröge [Fri, 3 Oct 2014 14:22:23 +0000 (17:22 +0300)]
openh264dec: The codec can only do baseline so simplify the code a bit

and declare this also on the srcpad caps.

With baseline profile there are no B-frames or frame reordering.

9 years agoopenh264dec: On ::finish() stop trying if the decoder returned that no output is...
Sebastian Dröge [Fri, 3 Oct 2014 14:20:28 +0000 (17:20 +0300)]
openh264dec: On ::finish() stop trying if the decoder returned that no output is available

9 years agoopenh264: Run gst-indent over everything
Sebastian Dröge [Fri, 3 Oct 2014 10:54:22 +0000 (13:54 +0300)]
openh264: Run gst-indent over everything

9 years agoopenh264: Remove unused codecparsers lib
Sebastian Dröge [Fri, 3 Oct 2014 10:52:32 +0000 (13:52 +0300)]
openh264: Remove unused codecparsers lib

9 years agoopenh264: Add FIXME comment about missing API in openh264
Sebastian Dröge [Thu, 2 Oct 2014 13:46:25 +0000 (16:46 +0300)]
openh264: Add FIXME comment about missing API in openh264

9 years agoopenh264dec: Try to handle frame reordering
Sebastian Dröge [Thu, 2 Oct 2014 13:33:30 +0000 (16:33 +0300)]
openh264dec: Try to handle frame reordering

As openh264 has no way to attach any IDs to input frames that we then get on
the output frames, we have to assume that the input has valid PTS. We just
take the frame with the oldest PTS, and if there is no PTS information we take
the one with the oldest DTS.

9 years agoopenh264dec: Don't drop videocodec frames if we can't decode them *yet*
Sebastian Dröge [Thu, 2 Oct 2014 13:23:37 +0000 (16:23 +0300)]
openh264dec: Don't drop videocodec frames if we can't decode them *yet*

Fixes jittery playback of streams with B frames.

9 years agoopenh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)
Sebastian Dröge [Thu, 2 Oct 2014 13:21:37 +0000 (16:21 +0300)]
openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)

And we can just pass complete AUs to the decoder without problems.

9 years agoopenh264dec: As we require NAL alignment from upstream we don't need to parse anything
Sebastian Dröge [Thu, 2 Oct 2014 13:19:46 +0000 (16:19 +0300)]
openh264dec: As we require NAL alignment from upstream we don't need to parse anything

9 years agoopenh264dec: Properly drain codec on ::finish()
Sebastian Dröge [Thu, 2 Oct 2014 12:48:51 +0000 (15:48 +0300)]
openh264dec: Properly drain codec on ::finish()

9 years agoopenh264enc: Properly drain the encoder on ::finish()
Sebastian Dröge [Thu, 2 Oct 2014 12:22:14 +0000 (15:22 +0300)]
openh264enc: Properly drain the encoder on ::finish()

9 years agoopenh264enc: We always get a single frame as output, not a NAL
Sebastian Dröge [Thu, 2 Oct 2014 11:36:45 +0000 (14:36 +0300)]
openh264enc: We always get a single frame as output, not a NAL

No need to accumulate NALs.

9 years agoopenh264enc: Fix up caps and stride handling
Sebastian Dröge [Thu, 2 Oct 2014 11:20:21 +0000 (14:20 +0300)]
openh264enc: Fix up caps and stride handling

9 years agoopenh264enc: Add support for GstVideoMeta
Sebastian Dröge [Thu, 2 Oct 2014 11:15:49 +0000 (14:15 +0300)]
openh264enc: Add support for GstVideoMeta

This will allow upstream elements to work more efficiently.

9 years agoopenh264dec: Add support for GstVideoMeta
Sebastian Dröge [Thu, 2 Oct 2014 11:12:11 +0000 (14:12 +0300)]
openh264dec: Add support for GstVideoMeta

This will make operation with various sinks faster for free.

9 years agoopenh264dec: Optimize frame copying a bit
Sebastian Dröge [Thu, 2 Oct 2014 11:08:49 +0000 (14:08 +0300)]
openh264dec: Optimize frame copying a bit

9 years agoopenh264dec: Don't forget to unref the input state
Sebastian Dröge [Thu, 2 Oct 2014 11:06:58 +0000 (14:06 +0300)]
openh264dec: Don't forget to unref the input state

9 years agoopenh264dec: Fix various crashes on ::stop()
Sebastian Dröge [Thu, 2 Oct 2014 11:03:43 +0000 (14:03 +0300)]
openh264dec: Fix various crashes on ::stop()

9 years agoopenh264dec: Remove invalid sprops-parameter-set handling
Sebastian Dröge [Thu, 2 Oct 2014 11:00:06 +0000 (14:00 +0300)]
openh264dec: Remove invalid sprops-parameter-set handling

This only exists on RTP caps, not H264 caps.

9 years agoopenh264enc: Don't set caps manually
Sebastian Dröge [Thu, 2 Oct 2014 10:53:01 +0000 (13:53 +0300)]
openh264enc: Don't set caps manually

This will break the order of events in GStreamer.

9 years agoopenh264dec: Fix input state handling and propagation of upstream caps fields
Sebastian Dröge [Thu, 2 Oct 2014 10:49:14 +0000 (13:49 +0300)]
openh264dec: Fix input state handling and propagation of upstream caps fields

9 years agoopenh264: Add OpenH264 based encoder/decoder elements
Sebastian Dröge [Fri, 3 Oct 2014 10:45:26 +0000 (13:45 +0300)]
openh264: Add OpenH264 based encoder/decoder elements

These are the openh264 elements released under the BSD-2 license
by Ericsson as part of the OpenWebRTC project.
https://github.com/EricssonResearch/openwebrtc-gst-plugins

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

9 years agovideoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info
Thibault Saunier [Thu, 18 Sep 2014 15:14:22 +0000 (17:14 +0200)]
videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info

We should be able to always keep the VIDEO_AGGREGATOR_LOCK while
negotiating caps, this patch introduce that change.

That also implies that we do not need the SETCAPS_LOCK anymore because
now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from
several threads and the gst_aggregator_set_caps method is now
protected.

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

9 years agoaggregator: Take lock to ensure set_caps is not called concurently
Thibault Saunier [Fri, 3 Oct 2014 10:34:15 +0000 (12:34 +0200)]
aggregator: Take lock to ensure set_caps is not called concurently

Avoiding to be in an inconsistent state where we do not have
actual negotiate caps set as srccaps and leading to point where we
try to unref ->srccaps when they have already been set to NULL.

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

9 years agogst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
Vineeth T M [Mon, 29 Sep 2014 04:45:39 +0000 (10:15 +0530)]
gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS

There are unnecessary definitions for disabling deprecation warnings.
Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files,
removing the same.

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