platform/upstream/gstreamer.git
10 years agowaylandsink/wlwindow: reuse code between the two constructors
George Kiagiadakis [Tue, 11 Mar 2014 17:46:56 +0000 (19:46 +0200)]
waylandsink/wlwindow: reuse code between the two constructors

10 years agowaylandsink: increase debug messages
George Kiagiadakis [Tue, 11 Mar 2014 16:45:23 +0000 (18:45 +0200)]
waylandsink: increase debug messages

10 years agowaylandsink: Use a boolean in combination with render_cond to comply with GCond's...
George Kiagiadakis [Tue, 11 Mar 2014 15:48:46 +0000 (17:48 +0200)]
waylandsink: Use a boolean in combination with render_cond to comply with GCond's usage documentation

10 years agowaylandsink: Implement expose() and handle resizing properly in non-PLAYING states
George Kiagiadakis [Tue, 11 Mar 2014 15:45:05 +0000 (17:45 +0200)]
waylandsink: Implement expose() and handle resizing properly in non-PLAYING states

10 years agowaylandsink: Use wl_scaler/wl_viewport to scale the surface in the compositor/hardware
George Kiagiadakis [Tue, 11 Mar 2014 11:14:00 +0000 (13:14 +0200)]
waylandsink: Use wl_scaler/wl_viewport to scale the surface in the compositor/hardware

10 years agowaylandsink: Build bindings for the unstable wl_scaler spec
George Kiagiadakis [Tue, 11 Mar 2014 11:05:56 +0000 (13:05 +0200)]
waylandsink: Build bindings for the unstable wl_scaler spec

10 years agowaylandsink: Set external surfaces and their child objects to use our own event queue
George Kiagiadakis [Mon, 10 Mar 2014 11:50:06 +0000 (13:50 +0200)]
waylandsink: Set external surfaces and their child objects to use our own event queue

This fixes weird freezes because of frame_redraw_callback() not being
called from the main thread when it should with weston's toy toolkit.

It's also safer to know that frame_redraw_callback() will always be
called from our display thread... Otherwise it could be called after
the sink has been destroyed for example.

10 years agowaylandsink: Wait for the frame_cb to redraw and drop frames meanwhile
George Kiagiadakis [Fri, 7 Mar 2014 15:25:00 +0000 (17:25 +0200)]
waylandsink: Wait for the frame_cb to redraw and drop frames meanwhile

We are not supposed to redraw until we receive a frame callback and this
is especially useful to avoid allocating too many buffers while the
window is not visible, because the compositor may not call wl_buffer.release
until the window becomes visible (ok, this is a wayland bug, but...).

10 years agowaylandsink: Handle wl_buffer::release and don't reuse buffers that are not released
George Kiagiadakis [Fri, 7 Mar 2014 14:16:30 +0000 (16:16 +0200)]
waylandsink: Handle wl_buffer::release and don't reuse buffers that are not released

This is achieved by adding an extra reference on the buffers, which does
not allow them to return to the pool. When they are released, this reference
is dropped.

The rest complexity of this patch (hash table, mutex, flag, explicit release calls)
merely exists to allow a safe, guaranteed and deadlock-free destruction sequence.
See the added comment on gstwaylandsink.c for details.

10 years agowaylandsink/waylandpool: remove useless munmap call
George Kiagiadakis [Thu, 6 Mar 2014 15:03:50 +0000 (17:03 +0200)]
waylandsink/waylandpool: remove useless munmap call

This data pointer is part of a bigger mmap'ed region,
it has not been returned from mmap itself.

10 years agowaylandsink/waylandpool: call the start/stop methods of the parent class
George Kiagiadakis [Fri, 28 Feb 2014 11:37:30 +0000 (13:37 +0200)]
waylandsink/waylandpool: call the start/stop methods of the parent class

start() makes sure that the minimum ammount of buffers requested is allocated.

stop() makes sure that buffers are actually destroyed and prevents
filling the file system when resizing the surface a lot, because the
wayland-shm-* files will stay on the file system as long as the wl_buffers
created out of them are alive.

10 years agowaylandsink/waylandpool: unlink mmaped shm files so that they don't remain on the...
George Kiagiadakis [Fri, 28 Feb 2014 11:36:43 +0000 (13:36 +0200)]
waylandsink/waylandpool: unlink mmaped shm files so that they don't remain on the file system

10 years agowaylandsink: implement the GstVideoOverlay & GstWaylandVideo interfaces
George Kiagiadakis [Fri, 28 Feb 2014 09:48:30 +0000 (11:48 +0200)]
waylandsink: implement the GstVideoOverlay & GstWaylandVideo interfaces

This is the initial implementation, without the GstVideoOverlay.expose()
method. It only implements using an external (sub)surface and resizing
it with GstWaylandVideo.

10 years agowaylandsink: implement with stubs the GstWaylandVideo & GstVideoOverlay interfaces
George Kiagiadakis [Fri, 14 Feb 2014 15:08:56 +0000 (16:08 +0100)]
waylandsink: implement with stubs the GstWaylandVideo & GstVideoOverlay interfaces

10 years agowayland: Add new gst-wayland library containing a new GstWaylandVideo interface
George Kiagiadakis [Mon, 6 May 2013 10:16:02 +0000 (13:16 +0300)]
wayland: Add new gst-wayland library containing a new GstWaylandVideo interface

This interface is needed to be able to embed waylandsink into
other wayland surfaces. Due to the special nature of wayland,
GstVideoOverlay is not enough for this job.

10 years agowaylandsink: handle the list of supported formats properly
George Kiagiadakis [Wed, 26 Feb 2014 16:35:29 +0000 (18:35 +0200)]
waylandsink: handle the list of supported formats properly

enum wl_shm_format is not a flags enum, as it may have been in the past,
so multiple formats cannot be stored in a bitfield. Use an array instead.

10 years agowaylandsink/wlvideoformat: add mappings for many common formats
George Kiagiadakis [Wed, 26 Feb 2014 15:41:11 +0000 (17:41 +0200)]
waylandsink/wlvideoformat: add mappings for many common formats

10 years agowaylandsink: unref the buffer pool
George Kiagiadakis [Wed, 26 Feb 2014 14:20:41 +0000 (16:20 +0200)]
waylandsink: unref the buffer pool

10 years agowaylandsink/waylandpool: ref the display instead of the sink to avoid cyclic references
George Kiagiadakis [Wed, 26 Feb 2014 14:11:29 +0000 (16:11 +0200)]
waylandsink/waylandpool: ref the display instead of the sink to avoid cyclic references

The reference to the sink is not really needed anyway in waylandpool,
what matters basically is that the display is active as long as the
pool is active, so we really want to reference the display object
instead of the sink.

10 years agowaylandsink: make the display property useful
George Kiagiadakis [Wed, 26 Feb 2014 12:56:21 +0000 (14:56 +0200)]
waylandsink: make the display property useful

Let the display property control the name of the display,
like in x(v)imagesink.

10 years agowaylandsink: access sink->pool in a more atomic fashion
George Kiagiadakis [Fri, 14 Feb 2014 16:20:42 +0000 (17:20 +0100)]
waylandsink: access sink->pool in a more atomic fashion

10 years agowaylandsink: remove the useless wayland_lock
George Kiagiadakis [Fri, 14 Feb 2014 15:33:10 +0000 (16:33 +0100)]
waylandsink: remove the useless wayland_lock

10 years agowaylandsink: apply the same debug category to all the subobjects
George Kiagiadakis [Thu, 13 Feb 2014 12:28:40 +0000 (13:28 +0100)]
waylandsink: apply the same debug category to all the subobjects

10 years agowaylandsink: cleanup header includes
George Kiagiadakis [Thu, 13 Feb 2014 12:15:31 +0000 (13:15 +0100)]
waylandsink: cleanup header includes

10 years agowaylandsink: split window-related code out to a new GstWlWindow class
George Kiagiadakis [Thu, 13 Feb 2014 10:59:45 +0000 (11:59 +0100)]
waylandsink: split window-related code out to a new GstWlWindow class

GstWlWindow also has API ready to support subsurfaces.

10 years agowaylandsink: remove callback and redraw_pending variables from the window structure
George Kiagiadakis [Thu, 13 Feb 2014 10:32:00 +0000 (11:32 +0100)]
waylandsink: remove callback and redraw_pending variables from the window structure

10 years agowaylandsink/waylandpool: improve debug message
George Kiagiadakis [Thu, 13 Feb 2014 09:51:59 +0000 (10:51 +0100)]
waylandsink/waylandpool: improve debug message

10 years agowaylandsink/waylandpool: find the video format from the GstVideoInfo instead of acces...
George Kiagiadakis [Thu, 13 Feb 2014 09:37:01 +0000 (10:37 +0100)]
waylandsink/waylandpool: find the video format from the GstVideoInfo instead of accessing the sink

For the sake of isolation only. The format should be the same.

10 years agowaylandsink/waylandpool: refactor code
George Kiagiadakis [Thu, 13 Feb 2014 09:29:08 +0000 (10:29 +0100)]
waylandsink/waylandpool: refactor code

* make use of GstBufferPool::start/stop functions to allocate/deallocate memory
* get rid of struct shm_pool and do all operations cleanly inside WaylandBufferPool
* store a GstVideoInfo during configuration instead of the width & height
  and use the stride from the video info instead of hardcoding its value

10 years agowaylandsink: split video format related functions out to a separate file
George Kiagiadakis [Thu, 13 Feb 2014 09:02:54 +0000 (10:02 +0100)]
waylandsink: split video format related functions out to a separate file

10 years agowaylandsink/waylandpool: move code around for better readability
George Kiagiadakis [Wed, 12 Feb 2014 14:16:08 +0000 (15:16 +0100)]
waylandsink/waylandpool: move code around for better readability

10 years agowaylandsink: move struct shm_pool and its related functions to waylandpool.c
George Kiagiadakis [Wed, 12 Feb 2014 13:41:52 +0000 (14:41 +0100)]
waylandsink: move struct shm_pool and its related functions to waylandpool.c

And also make the instance of this struct to be owned by the buffer
pool instead of the element, for the sake of isolation

10 years agowaylandsink: Use XDG_RUNTIME_DIR instead of /tmp for the shm file
George Kiagiadakis [Tue, 14 May 2013 16:35:33 +0000 (19:35 +0300)]
waylandsink: Use XDG_RUNTIME_DIR instead of /tmp for the shm file

10 years agowaylandsink: remove unused variables
George Kiagiadakis [Wed, 12 Feb 2014 13:15:52 +0000 (14:15 +0100)]
waylandsink: remove unused variables

10 years agowaylandsink: process display events in a separate thread
George Kiagiadakis [Wed, 12 Feb 2014 10:28:40 +0000 (11:28 +0100)]
waylandsink: process display events in a separate thread

This also moves the display-related code into a new GstWlDisplay class,
which takes care of the new thread

10 years agowaylandsink: tidy up the header files
George Kiagiadakis [Tue, 4 Feb 2014 15:32:31 +0000 (16:32 +0100)]
waylandsink: tidy up the header files

10 years agopnmdec: use GstVideoDecoder Class
Sanjay NM [Thu, 12 Jun 2014 11:08:35 +0000 (16:38 +0530)]
pnmdec: use GstVideoDecoder Class

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

10 years agotsdemux: Don't overwrite original seek value
Edward Hervey [Mon, 16 Jun 2014 05:42:37 +0000 (07:42 +0200)]
tsdemux: Don't overwrite original seek value

In accurate mode, we'll be using start to fill in the seek segment,
therefore don't overwrite it with the shifted seek position.

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

10 years agoglvideomixer: silence incorrect number of arguments in format warning
Matthew Waters [Sun, 15 Jun 2014 05:18:46 +0000 (15:18 +1000)]
glvideomixer: silence incorrect number of arguments in format warning

10 years agogldownload: plug a memory leak
Matthew Waters [Sun, 15 Jun 2014 05:17:07 +0000 (15:17 +1000)]
gldownload: plug a memory leak

10 years agoglvideomixer: wire up the alpha pad property
Matthew Waters [Sun, 15 Jun 2014 03:59:07 +0000 (13:59 +1000)]
glvideomixer: wire up the alpha pad property

10 years agoglvideomixer: support input frame scaling
Matthew Waters [Sun, 15 Jun 2014 03:44:04 +0000 (13:44 +1000)]
glvideomixer: support input frame scaling

10 years agoglvideomixer: add positioning of input streams
Matthew Waters [Sun, 15 Jun 2014 02:26:21 +0000 (12:26 +1000)]
glvideomixer: add positioning of input streams

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

10 years agoglmixer: allow the subclass to choose the sink pad type
Matthew Waters [Sun, 15 Jun 2014 02:24:38 +0000 (12:24 +1000)]
glmixer: allow the subclass to choose the sink pad type

Allows custom properties to be placed on the sink pads by subclasses

10 years agompegtspacketizer: live: handle pcr/dts discrepancies some more
Edward Hervey [Fri, 13 Jun 2014 09:46:19 +0000 (11:46 +0200)]
mpegtspacketizer: live: handle pcr/dts discrepancies some more

When wrapover/reset occur, we end up with a small window of time where
the PTS/DTS will still be using the previous/next time-range.

In order not to return bogus values, return GST_CLOCK_TIME_NONE if the
PTS/DTS value to convert differs by more than 15s against the last seen
PCR

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

10 years agompegtspacketizer: Fix wraparound detection issue
Edward Hervey [Fri, 13 Jun 2014 08:37:46 +0000 (10:37 +0200)]
mpegtspacketizer: Fix wraparound detection issue

Using 32bit unsigned values for corrected pcr/offset meant that we
potentially ended up in bogus values

Furthermore, refpcr - refpcroffset could end up being negative, which
PCRTIME_TO_GSTTIME() can't handle (and returned a massive positive value)

10 years agodocs: add gsteglimagememory
Matthew Waters [Fri, 13 Jun 2014 01:26:38 +0000 (11:26 +1000)]
docs: add gsteglimagememory

10 years agodocs: add glframebuffer object
Matthew Waters [Thu, 12 Jun 2014 23:55:42 +0000 (09:55 +1000)]
docs: add glframebuffer object

10 years agodocs: misc adds for gl functions
Matthew Waters [Thu, 12 Jun 2014 23:52:01 +0000 (09:52 +1000)]
docs: misc adds for gl functions

10 years agodocs: add gluploadmeta object
Matthew Waters [Thu, 12 Jun 2014 23:41:51 +0000 (09:41 +1000)]
docs: add gluploadmeta object

10 years agodocs: update for some gl function name changes
Matthew Waters [Thu, 12 Jun 2014 23:32:56 +0000 (09:32 +1000)]
docs: update for some gl function name changes

10 years agoglfilterapp: actually emit the client-draw signal
Matthew Waters [Thu, 12 Jun 2014 13:14:45 +0000 (23:14 +1000)]
glfilterapp: actually emit the client-draw signal

10 years agogl/examples: update for TEXTURE_2D change
Matthew Waters [Thu, 12 Jun 2014 13:13:11 +0000 (23:13 +1000)]
gl/examples: update for TEXTURE_2D change

10 years agotsdemux: implement proper seeking for h264 streams.
Mathieu Duponchelle [Fri, 30 May 2014 14:52:09 +0000 (16:52 +0200)]
tsdemux: implement proper seeking for h264 streams.

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

From a high level perspective, the new process for seeking h264
streams is as follows:

1) Rewind the stream until we find the first I-slice of a frame,
   and mark its offset in the stream.
2) Rewind the stream until we find SPS and PPS informations,
   to make sure the subsequent parser is up to date.
3) Accumulate optionnal SEI NAL units on the way.
4) Push the SPS, PPS and SEI units before the new keyframe.

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

10 years agodvbsrc: do not try to close negative file descriptors
Vincent Penquerc'h [Thu, 12 Jun 2014 09:14:27 +0000 (10:14 +0100)]
dvbsrc: do not try to close negative file descriptors

Interestingly, Coverity implies that close takes an unsigned
argument, while my close(2) man page shows it taking a signed
argument. I guess it may be platforms specific.

Coverity 1214602

10 years agohls: fix build with GLib 2.32
Tim-Philipp Müller [Thu, 12 Jun 2014 09:17:10 +0000 (10:17 +0100)]
hls: fix build with GLib 2.32

Provide internal copy of g_list_copy_deep() until we
bump the GLib requirement.

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

10 years agoaiffparse: bail out early when bytes per sample is not set
Vincent Penquerc'h [Thu, 12 Jun 2014 09:00:55 +0000 (10:00 +0100)]
aiffparse: bail out early when bytes per sample is not set

This should always be set for valid files when we get there,
and checking this avoids having ad hoc checks further down
in several places.

Coverity 1139698

10 years agocodecparsers: h264: fix quantization matrix conversion routine names.
Gwenole Beauchesne [Wed, 11 Jun 2014 13:11:40 +0000 (15:11 +0200)]
codecparsers: h264: fix quantization matrix conversion routine names.

Fix routine names for zigzag/raster scan order conversion routines for
quantization matrices. This ought to use the gst_h264_quant_matrix_*()
naming convention instead of gst_h264_video_quant_matrix_*(), which
derived from the MPEG-2 function names.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agocodecparsers: add C++ guards for MPEG-4 and VP8 parsers.
Gwenole Beauchesne [Mon, 26 May 2014 16:29:21 +0000 (18:29 +0200)]
codecparsers: add C++ guards for MPEG-4 and VP8 parsers.

Fix MPEG-4 and VP8 APIs to export their external symbols as pure C
symbols, i.e. un-mangled for C++.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agoglmixer: send the stream-start event
Matthew Waters [Thu, 12 Jun 2014 04:58:47 +0000 (14:58 +1000)]
glmixer: send the stream-start event

and the caps event after.

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

10 years agogl/examples: add GST_PLUGINS_BASE_CFLAGS
Matthew Waters [Thu, 12 Jun 2014 03:37:51 +0000 (13:37 +1000)]
gl/examples: add GST_PLUGINS_BASE_CFLAGS

10 years agogl/examples: remove spurious include for doublecube example
Matthew Waters [Thu, 12 Jun 2014 03:15:10 +0000 (13:15 +1000)]
gl/examples: remove spurious include for doublecube example

10 years agogl/examples: add the srcdir and builddir includes
Matthew Waters [Thu, 12 Jun 2014 03:06:31 +0000 (13:06 +1000)]
gl/examples: add the srcdir and builddir includes

And remove references to $(GST_PLUGINS_GL_*)

10 years agoglfilterapp: remove the reshape/draw properties
Matthew Waters [Thu, 12 Jun 2014 02:49:42 +0000 (12:49 +1000)]
glfilterapp: remove the reshape/draw properties

The reshape property was never used.
Replace the draw property with a signal.

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

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

10 years agoglmixer: lock the size of mix->frames to the number of pads
Matthew Waters [Thu, 12 Jun 2014 02:14:35 +0000 (12:14 +1000)]
glmixer: lock the size of mix->frames to the number of pads

Fixes a segfault with decodebin ! glmixer where the request pads on
both sides were being requested after the state change to PAUSED.

Also fixes dynamically adding and removing pads while glmixer is
in a state >= PAUSED.

10 years agogl/examples: Port to using signals instead of properties
Matthew Waters [Thu, 12 Jun 2014 02:09:56 +0000 (12:09 +1000)]
gl/examples: Port to using signals instead of properties

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

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

10 years agoglimagesink: replace pointer properties with signals
Matthew Waters [Sun, 1 Jun 2014 05:02:52 +0000 (15:02 +1000)]
glimagesink: replace pointer properties with signals

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

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

10 years agompegtspacketizer: Use first group for handling reference pcr
Edward Hervey [Wed, 11 Jun 2014 07:38:00 +0000 (09:38 +0200)]
mpegtspacketizer: Use first group for handling reference pcr

If _set_current_pcr_offset gets called after a flushing seek, we ended
up using the current group for delta calculation ... whereas we should
be using the first group to calculate shifts.

Also add an early exit if there are no changes to apply

10 years agotsdemux: Remove unused variable
Edward Hervey [Tue, 10 Jun 2014 12:50:10 +0000 (14:50 +0200)]
tsdemux: Remove unused variable

The seeksegment was no longer used since the switch to calculating segments
when we see data.

10 years agompegtspacketizer: Fix debug statement
Edward Hervey [Tue, 10 Jun 2014 12:27:53 +0000 (14:27 +0200)]
mpegtspacketizer: Fix debug statement

10 years agompegtspacketizer: Fix duration evaluation in push mode
Edward Hervey [Tue, 10 Jun 2014 12:27:01 +0000 (14:27 +0200)]
mpegtspacketizer: Fix duration evaluation in push mode

When working in push mode, we need to be able to evaluate the duration
based on a single group of observations.

To do that we use the current group values

10 years agompegtspacketizer: Handle early PTS conversion
Edward Hervey [Mon, 2 Jun 2014 09:07:01 +0000 (11:07 +0200)]
mpegtspacketizer: Handle early PTS conversion

When handling the PTS/DTS conversion in new groups, there's a possibility
that the PTS might be smaller than the first PCR value observed, due to
re-ordering.

When using the current group, only apply the wraparound correction when we
are certain it is one (i.e. differs by more than a second) and not when it's
just a small difference (like out-of-order PTS).

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

10 years agogdp: don't print already-freed string
Tim-Philipp Müller [Mon, 9 Jun 2014 09:10:01 +0000 (10:10 +0100)]
gdp: don't print already-freed string

CID 1221987

10 years agospeed: Fix position query some more
Edward Hervey [Mon, 9 Jun 2014 08:56:48 +0000 (10:56 +0200)]
speed: Fix position query some more

Forgot to remove code in 16fd917632c0992349ca28cf9108e9562c493ad7

CID #1139677

10 years agompegtsdemux: Fix sticky event handling
Edward Hervey [Sat, 7 Jun 2014 05:13:59 +0000 (07:13 +0200)]
mpegtsdemux: Fix sticky event handling

When we receive sticky events from upstream, always return TRUE.

Fixes the issue where we receive custom sticky events (such as "uri")
and no pads are created yet.

10 years agohlsdemux: Improve parsing quoted key URIs and apply it for I-frame-based stream URI
Damian Ziobro [Wed, 4 Jun 2014 17:34:44 +0000 (18:34 +0100)]
hlsdemux: Improve parsing quoted key URIs and apply it for I-frame-based stream URI

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

10 years agohlsdemux: Don't store the current key in the playlist
Sebastian Dröge [Fri, 6 Jun 2014 10:08:04 +0000 (13:08 +0300)]
hlsdemux: Don't store the current key in the playlist

It's per fragment and applying to all following fragments
until the next key is specified.

10 years agohlsdemux: Fix compiler warnings
Sebastian Dröge [Fri, 6 Jun 2014 10:04:04 +0000 (13:04 +0300)]
hlsdemux: Fix compiler warnings

10 years agohlsdemux: Reload the variant playlist if refreshing a playlist or downloading a fragm...
Thomas Bluemel [Fri, 30 May 2014 22:34:18 +0000 (16:34 -0600)]
hlsdemux: Reload the variant playlist if refreshing a playlist or downloading a fragment fails

This can happen if the playlists have moved due to the variant playlist
now being redirected to another target. This currently only works as long
as the referenced playlists don't change in relation to the variant
playlist, and the new location is purely due to a new path triggered by a
new redirection target of the variant playlist, or a new redirection
target of the playlist itself.

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

10 years agoschroenc: Use an arbitrary framerate if none if given
Olivier Crête [Thu, 5 Jun 2014 20:45:12 +0000 (16:45 -0400)]
schroenc: Use an arbitrary framerate if none if given

The schro encoder always requires a framerate, but some source material,
such as RTP doesn't have a fixed one, so just fake it.

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

10 years agodvbsrc: drop redundant assignment
Reynaldo H. Verdejo Pinochet [Wed, 4 Jun 2014 18:35:51 +0000 (14:35 -0400)]
dvbsrc: drop redundant assignment

10 years agodvbsrc: improve timeout handing at locking loop
Reynaldo H. Verdejo Pinochet [Wed, 4 Jun 2014 05:02:20 +0000 (01:02 -0400)]
dvbsrc: improve timeout handing at locking loop

New approach attempts to be more accurate by measuring
the elapsed time by iteration. Also:

* Use a 10 seconds default timeout and a half a second
  polling step. New values should better match the tuning
  process on real-life scenarios.
* Correct elapsed_time computation.
* Add _retry_ioctl() to avoid bailing out on temporary
  ioctl EINTR failures (no need to check for EAGAIN cause
  we are opening the frontend on blocking mode)
* Small corrections to fail condition handling

10 years agogl/wayland: create a dummy display instead of an EGLDisplay
Matthew Waters [Thu, 5 Jun 2014 08:43:30 +0000 (18:43 +1000)]
gl/wayland: create a dummy display instead of an EGLDisplay

Currently, GstGLWindowWaylandEGL holds the wayland display connection
If we create the EGLDisplay at the GstDisplay creation time, then
libEGL will internally open another connection to the wayland server.
These two display connections are unable to communicate resulting in
no window output/display and hangs inside libEGL.

Eventually we will move the wl_display from GstGLWindow to GstGLDisplay.

10 years agortmp: proxy logging from librtmp
Edward Hervey [Thu, 5 Jun 2014 07:40:38 +0000 (09:40 +0200)]
rtmp: proxy logging from librtmp

Helps with debugging various librtmp issues

10 years agortmpsrc: Fix position querying
Edward Hervey [Thu, 5 Jun 2014 06:29:50 +0000 (08:29 +0200)]
rtmpsrc: Fix position querying

It's the position we're querying, not the duration :)

10 years agotsdemux: Remove extraneous extra parameter from check_pending_buffers function
Jan Schmidt [Wed, 4 Jun 2014 11:39:48 +0000 (21:39 +1000)]
tsdemux: Remove extraneous extra parameter from check_pending_buffers function

10 years agompegtspacketiser: Always initialise packet AFC flags and PCR fields
Jan Schmidt [Wed, 4 Jun 2014 11:31:21 +0000 (21:31 +1000)]
mpegtspacketiser: Always initialise packet AFC flags and PCR fields

Also fix a slight typo in a comment about the smoothing algorithm

10 years agotsdemux: Reset pending_ts on a discont, to re-measure initial timestamps
Jan Schmidt [Fri, 23 May 2014 05:07:19 +0000 (15:07 +1000)]
tsdemux: Reset pending_ts on a discont, to re-measure initial timestamps

Since all the other timestamp tracking now gets reset on a discont,
it makes sense to wait for a PCR and timestamp buffers like when
playback first starts

10 years agosrtp: add support for rollover counters and replay protection window size
Aleix Conchillo Flaqué [Sat, 22 Mar 2014 05:16:41 +0000 (22:16 -0700)]
srtp: add support for rollover counters and replay protection window size

We add a new signal, get-rollover-counter, to the SRTP encoder. Given a
ssrc the signal will return the currently internal SRTP rollover counter
for the given stream.

For the SRTP decoder we have a new SRTP caps parameter "roc" that needs
to be set when a new SRTP stream is created for a given SSRC.

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

10 years agoliveadder: handle gap buffer flag
Michael Olbrich [Mon, 14 Oct 2013 14:14:42 +0000 (16:14 +0200)]
liveadder: handle gap buffer flag

Remove GAP flag unless both sides have gap data, ignore
incoming data if it is gap data.

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

10 years agoglimagesink: improve state change debug message
Matthieu Bouron [Sun, 25 May 2014 20:43:22 +0000 (21:43 +0100)]
glimagesink: improve state change debug message

10 years agoglupload: always release the previous buffer
Matthew Waters [Tue, 3 Jun 2014 03:59:51 +0000 (13:59 +1000)]
glupload: always release the previous buffer

Fixes the case where _perform_with_buffer() is called without
intervening calls to _release_buffer() as is the case on start up
with glimagesink.

Also release the buffer when reseting the upload.

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

10 years agotests: Take account of memory alignment in shm test
Olivier Crête [Tue, 3 Jun 2014 01:51:38 +0000 (21:51 -0400)]
tests: Take account of memory alignment in shm test

10 years agogdp: Fail gracefully if event can't be parsed
Olivier Crête [Tue, 3 Jun 2014 01:43:56 +0000 (21:43 -0400)]
gdp: Fail gracefully if event can't be parsed

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

10 years agoshmsink: Allocate enough memory to do alignment
Olivier Crête [Tue, 3 Jun 2014 01:43:34 +0000 (21:43 -0400)]
shmsink: Allocate enough memory to do alignment

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

10 years agoandroidmedia: Actually print the stacktrace into the error string
Sebastian Dröge [Mon, 2 Jun 2014 10:39:49 +0000 (12:39 +0200)]
androidmedia: Actually print the stacktrace into the error string

10 years agoandroidmedia: Clear the exception before trying to call Java methods to convert it...
Sebastian Dröge [Mon, 2 Jun 2014 09:28:43 +0000 (11:28 +0200)]
androidmedia: Clear the exception before trying to call Java methods to convert it to a string

10 years agoandroidmedia: Fix crashes when loading the plugin in a standalone application on...
Sebastian Dröge [Mon, 2 Jun 2014 09:16:32 +0000 (11:16 +0200)]
androidmedia: Fix crashes when loading the plugin in a standalone application on Android >= 4.4

Check if libnativehelper is loaded in the process and if
it has these awful wrappers for JNI_CreateJavaVM and
JNI_GetCreatedJavaVMs that crash the app if you don't
create a JniInvocation instance first. If it isn't we
just fail here and don't initialize anything.

See this code for reference:
https://android.googlesource.com/platform/libnativehelper/+/master/JniInvocation.cpp

10 years agospeed: make position query able to convert bytes to time
Edward Hervey [Mon, 2 Jun 2014 08:11:58 +0000 (10:11 +0200)]
speed: make position query able to convert bytes to time

(same as 744c58d71b21475d2edd5b9334e277cfa4c53260 but for the
position query)

It was only querying in time, but then trying to use dead bytes
to time conversion code.

Coverity 1139677

10 years agompegdemux: avoid crashing in pathological case
Edward Hervey [Mon, 2 Jun 2014 07:42:33 +0000 (09:42 +0200)]
mpegdemux: avoid crashing in pathological case

(Identical to commit 612cdeec80da95b12f9fad928419c7de2be20d68 which
was for resindvd)

When we'd see an unknown stream type, then a SDDS stream.
Then we'd get to the end of the switch with a NULL temp stream
pointer, and dereference it.

Coverity 1139708