platform/upstream/gst-plugins-bad.git
9 years agoplayout: New example for seamless audio/video playback
Nirbheek Chauhan [Thu, 29 Jan 2015 00:56:26 +0000 (00:56 +0000)]
playout: New example for seamless audio/video playback

An example app that takes video URIs as command line arguments and switches
between them seamlessly one after the other using compositor and audiomixer.
Both audio-video and video-only media files are valid inputs, but mixing files
of both types in a single invocation is cumbersome to support, and hence does
not work. The example attempts to keep the audio stream moving along perfectly,
and duplicates video frames where necessary to cover gaps in the video
timestamps using the 'ignore-eos' videoaggregator pad property.

Ensuring seamless (and mostly-glitch-free) switching is harder than it sounds,
and hence the example contains plenty of pad probes and running time
calculations to make things work.

The GPtrArray play_queue contains items that are being played back, have been
prepared for playback, and will be played back in the future. The queue itself
is mutable besides the first two items (playing and prepared). The item that has
been prepared should not be edited or removed since it has been prepared in
advance to be activated immediately on the current item's EOS.

The example also has support for switching to the next item in the queue
prematurely; see the --switch-after/-s flag to the application.

Note: the output video is hard-coded at 1280x720, and input video is scaled as
needed to fit this size. Set OUTPUT_VIDEO_WIDTH/HEIGHT to change this.

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

9 years agotests: Add test for the 'ignore-eos' compositor sink pad property
Nirbheek Chauhan [Sat, 6 Jun 2015 15:10:13 +0000 (20:40 +0530)]
tests: Add test for the 'ignore-eos' compositor sink pad property

When the 'ignore-eos' property is set on a pad, compositor will keep resending
the last buffer on the pad till the pad is unlinked. We count the buffers
received on appsink, and if it's more than the buffers sent by videotestsrc, the
test passes.

9 years agovideoaggregator: add "ignore-eos" property for input pads
Nirbheek Chauhan [Mon, 9 Feb 2015 19:19:35 +0000 (00:49 +0530)]
videoaggregator: add "ignore-eos" property for input pads

When set, it causes videoaggregator to repeatedly aggregate the last buffer on
an EOS pad instead of skipping it and outputting silence. This is useful, for
instance, while playing back files seamless one after the other, to avoid
videoaggregator ever outputting silence (the checkerboard pattern).

It is to be noted that if all the pads on videoaggregator have this property set
on them, the mixer will never forward EOS downstream for obvious reasons. Hence,
at least one pad with 'ignore-eos' set to FALSE must send EOS to the mixer
before it will be forwarded downstream.

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

9 years agompegts: return early if packetizing short section
Jesper Larsen [Fri, 19 Dec 2014 13:43:20 +0000 (14:43 +0100)]
mpegts: return early if packetizing short section

Short sections have 3 bytes of common header, while other sections
have 8 bytes of common header. If packetizing common header of short
section, we should stop after the first 3 bytes.

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

9 years agodebugutilsbad: Minor cleanup
Vivia Nikolaidou [Fri, 12 Jun 2015 14:14:02 +0000 (17:14 +0300)]
debugutilsbad: Minor cleanup

Ran gst-indent on debugutilsbad.c, moved headers to noinst in Makefile.am

9 years agogtk: Do not try to activate a NULL GLContext
Thibault Saunier [Fri, 12 Jun 2015 13:39:56 +0000 (15:39 +0200)]
gtk: Do not try to activate a NULL GLContext

At that point in the code nothing guarantees it exists

9 years agogl/tests: remove reference to undefined buffer test
Matthew Waters [Fri, 12 Jun 2015 11:31:48 +0000 (21:31 +1000)]
gl/tests: remove reference to undefined buffer test

9 years agoglmemory: separate pbo transfer from texture transfers
Matthew Waters [Thu, 11 Jun 2015 08:26:50 +0000 (18:26 +1000)]
glmemory: separate pbo transfer from texture transfers

When supported, the potentially longer pbo upload/download can be
initiated before the texture upload/download, potentially increasing
throughput.

9 years agoglmemory: implement on top of glbasebuffer
Matthew Waters [Wed, 10 Jun 2015 06:36:15 +0000 (16:36 +1000)]
glmemory: implement on top of glbasebuffer

Provides convenient access to PBO usage.

Currently texture updates are coupled tightly to data transfers.

9 years agogl: new glbasebuffer GstMemory object
Matthew Waters [Wed, 10 Jun 2015 06:24:59 +0000 (16:24 +1000)]
gl: new glbasebuffer GstMemory object

Provides generic handling of GL buffer objects accessible using
the GL bind points (GL_ARRAY_BUFFER, GL_PIXEL_*_BUFFER).

Implementation based off the current GstGLMemory.

9 years agogl/prototypes: add some buffer function prototypes
Matthew Waters [Wed, 10 Jun 2015 06:23:36 +0000 (16:23 +1000)]
gl/prototypes: add some buffer function prototypes

9 years agogtk: implement video aspect-ratio handling
Matthew Waters [Fri, 12 Jun 2015 05:17:30 +0000 (15:17 +1000)]
gtk: implement video aspect-ratio handling

For both the software and the GL sink's.

Doesn't deal with the pixel-aspect-ratio field at all yet.

9 years agogl/window/x11: only listen on the X Display when needed
Matthew Waters [Fri, 12 Jun 2015 03:14:57 +0000 (13:14 +1000)]
gl/window/x11: only listen on the X Display when needed

5697b6b89b4b2a15c45bd47be940a17f4412ea11 causes us to possibly listen
on a toolkit provided Display connection.  We thus could eat their
precious winsys events.  Only listen if we need to
(!foreign_display or videooverlay).

9 years agogtk: fix a couple of typos
Matthew Waters [Fri, 12 Jun 2015 02:40:50 +0000 (12:40 +1000)]
gtk: fix a couple of typos

9 years agogtkglsink: reset the context/display in READY_TO_NULL
Matthew Waters [Fri, 12 Jun 2015 02:29:37 +0000 (12:29 +1000)]
gtkglsink: reset the context/display in READY_TO_NULL

Fixes context propagation in pipelines with upstream GL elements.

9 years agodashdemux: fix error calculating large presentationTimeOffset values
Alex Ashley [Thu, 11 Jun 2015 16:25:49 +0000 (17:25 +0100)]
dashdemux: fix error calculating large presentationTimeOffset values

If the presentationTimeOffset attribute of a DASH manifest contains
a value that is larger than 2^32, gstmpdparser incorrectly calculates
the stream's presentation time offset. This is due to two bugs:

1: Using gst_mpdparser_get_xml_prop_unsigned_integer rather than
   gst_mpdparser_get_xml_prop_unsigned_integer_64 to parse the
   attribute
2: gst_mpd_client_setup_representation multiplying the value by
   GST_SECOND and then dividing by timescale

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

9 years agogstgtk: No need to realize the widget
Nicolas Dufresne [Thu, 11 Jun 2015 16:41:10 +0000 (12:41 -0400)]
gstgtk: No need to realize the widget

The widget already does that.

9 years agogstgtk: Don't leak the widget
Nicolas Dufresne [Thu, 11 Jun 2015 16:38:53 +0000 (12:38 -0400)]
gstgtk: Don't leak the widget

g_object_get() returns a ref, gtk_container_add() only ref_sink().
That mean we still need to unref afterward. This leak was hiding
a reference bug previously present.

9 years agogstgtk: Allow doing gst-inspect-1.0 on these elements
Nicolas Dufresne [Thu, 11 Jun 2015 16:10:23 +0000 (12:10 -0400)]
gstgtk: Allow doing gst-inspect-1.0 on these elements

This patch allow going gst-inspect-1.0 on these elements removing
ugly crash that was previously occurring. The method consist of
making the widget creation as lazy as possible. This way we don't
endup doing gtk_init() before the application. We also ref_sink()
the widget, so we don't crash if the parent widget is discarded,
and cleanly error out with GL if the widget has no parent window,
because calling gtk_widget_realized() can only be done if the widget
has been parented to a window).

9 years agogl: Add support for multiple views in upload, colour convert and download
Jan Schmidt [Fri, 29 May 2015 16:15:51 +0000 (02:15 +1000)]
gl: Add support for multiple views in upload, colour convert and download

Support multiple attached views on input/output buffers
by processing each one, not just the first.

9 years agoh264parse: Add support for passing stereoscopic/multiview info
Jan Schmidt [Fri, 29 May 2015 15:38:16 +0000 (01:38 +1000)]
h264parse: Add support for passing stereoscopic/multiview info

Pass any multiview info from the container or SEI info downstream

9 years agoh264parse: Don't switch to passthrough on set_caps()
Jan Schmidt [Wed, 10 Jun 2015 15:57:08 +0000 (01:57 +1000)]
h264parse: Don't switch to passthrough on set_caps()

Wait until at least one keyframe has been parsed before
deciding to switch to passthrough mode, in case the
stream contains SEI messages that supplement the output
caps - for example by providing stereoscopic information

9 years agogl/window/x11: don't create our own X11 display
Matthew Waters [Thu, 11 Jun 2015 14:32:00 +0000 (00:32 +1000)]
gl/window/x11: don't create our own X11 display

It's not needed anymore with most window operations occuring in the
GL thread.

9 years agogl/window/x11: handle_events() may be called before the window has been created
Matthew Waters [Thu, 11 Jun 2015 14:30:58 +0000 (00:30 +1000)]
gl/window/x11: handle_events() may be called before the window has been created

Fixes an XIO fatal error

9 years agogl: move basesink properties from glimagesinkbin to glsinkbin
Matthew Waters [Thu, 11 Jun 2015 14:29:23 +0000 (00:29 +1000)]
gl: move basesink properties from glimagesinkbin to glsinkbin

9 years agompegtsmux: Remove arbitrary constraint on prog-map program ids
Yanko Kaneti [Wed, 25 Mar 2015 17:27:42 +0000 (19:27 +0200)]
mpegtsmux: Remove arbitrary constraint on prog-map program ids

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

9 years agogl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too
Sebastian Dröge [Thu, 11 Jun 2015 13:22:04 +0000 (15:22 +0200)]
gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too

9 years agoglsinkbin: Use gst_object_ref_sink() for consistency with the video-sink property...
Sebastian Dröge [Thu, 11 Jun 2015 13:17:02 +0000 (15:17 +0200)]
glsinkbin: Use gst_object_ref_sink() for consistency with the video-sink property on playbin

9 years agogtk: Do not try to initialize display if we have not have a GLContext yet
Thibault Saunier [Thu, 11 Jun 2015 13:02:44 +0000 (15:02 +0200)]
gtk: Do not try to initialize display if we have not have a GLContext yet

9 years agogtk: Add missing CFLAGS to example
Sebastian Dröge [Thu, 11 Jun 2015 12:58:27 +0000 (14:58 +0200)]
gtk: Add missing CFLAGS to example

9 years agoImplement gtk sinks
Matthew Waters [Thu, 18 Dec 2014 06:00:30 +0000 (17:00 +1100)]
Implement gtk sinks

two sinks are provided.  gtksink which is a cairo/software based renderer
and gtkglsink which utilises the GL support in gtk and gstreamer.

9 years agoh263parse: Fix PSC matching
Edward Hervey [Wed, 10 Jun 2015 08:36:21 +0000 (10:36 +0200)]
h263parse: Fix PSC matching

We were off by one byte in the matching

It should be (using 24 bit matching):
   * startcode  : 0000 0000 0000 0000 1000 00xx
   * mask (bin) : 1111 1111 1111 1111 1111 1100
   * mask (hex) :    f    f    f    f    f    c
   * match      :    0    0    0    0    8    0

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

9 years agovtenc: always enqueue frames, even on error
Ilya Konstantinov [Mon, 11 May 2015 14:47:25 +0000 (16:47 +0200)]
vtenc: always enqueue frames, even on error

Even when we fail to encode frame, we should still enqueue it so
it could be passed into handle_frame (with output_buffer == NULL).
Otherwise, we risk GstVideoEncoder's queue of frames growing unbounded.

Note: We're slightly changing the renegotiation code to accommodate for
frames without output buffers, but this commit takes no ownership over
the way negotiation is being done.

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

9 years agod3dvideosink: Avoid frame rendering while the window is completely hidden
Fabio Cetrini [Wed, 10 Jun 2015 13:03:31 +0000 (15:03 +0200)]
d3dvideosink: Avoid frame rendering while the window is completely hidden

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

9 years agogl: OES_vertex_array_object is improperly implemented on PowerVR SGX 544MP
Sebastian Dröge [Wed, 10 Jun 2015 09:42:06 +0000 (11:42 +0200)]
gl: OES_vertex_array_object is improperly implemented on PowerVR SGX 544MP

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

9 years agovtenc: free input buffer ASAP
Ilya Konstantinov [Mon, 11 May 2015 14:40:07 +0000 (16:40 +0200)]
vtenc: free input buffer ASAP

VTCompressionSessionEncodeFrame retains the CVPixelBuffer during
encoding, and will release it as soon as it can (e.g. before it even
calls our callback). This means we can safely release input buffer
at this point, possibly allowing the system to reuse it sooner.

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

9 years agovtenc: Add missing gst_vtenc_frame_free() in error path
Ilya Konstantinov [Mon, 11 May 2015 14:39:19 +0000 (16:39 +0200)]
vtenc: Add missing gst_vtenc_frame_free() in error path

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

9 years agoliveadder: Fix memory leaks iterating over pads
Santiago Carot-Nemesio [Tue, 9 Jun 2015 14:33:39 +0000 (16:33 +0200)]
liveadder: Fix memory leaks iterating over pads

Rebased for latest master by Nicolas Huet <nicolas.huet@parrot.com>.

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

9 years agovtenc: add alignment=au to sink caps
Ilya Konstantinov [Tue, 9 Jun 2015 21:16:27 +0000 (00:16 +0300)]
vtenc: add alignment=au to sink caps

VT compression callback gets a CMSampleBuffer per frame, so vtenc_h264
should set 'alignment=au' in sink caps to indicate this.

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

9 years agouvch264src: fix compiler warnings
Chris Clayton [Tue, 9 Jun 2015 17:30:55 +0000 (18:30 +0100)]
uvch264src: fix compiler warnings

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

9 years agoavfassetsrc: fix huge memory leak
Ilya Konstantinov [Mon, 11 May 2015 22:18:02 +0000 (00:18 +0200)]
avfassetsrc: fix huge memory leak

CMSampleBuffers were retained -> huge memory leak.

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

9 years agovtenc: no need for queue_length with try_pop
Ilya Konstantinov [Mon, 11 May 2015 14:44:33 +0000 (16:44 +0200)]
vtenc: no need for queue_length with try_pop

9 years agovtdec: don't copy meta from input to output
Ilya Konstantinov [Tue, 5 May 2015 13:07:53 +0000 (15:07 +0200)]
vtdec: don't copy meta from input to output

Copying arbitrary metas is going to cause problems and this should really be
handled by the base class. It overrides most other things already anyway,
including timestamp and duration. Those are just set here now so we can
insert the frame sorted into the queue.

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

9 years agocruft: add the obsolete tmpl dir to cruft-dirs
Stefan Sauer [Tue, 9 Jun 2015 13:32:36 +0000 (15:32 +0200)]
cruft: add the obsolete tmpl dir to cruft-dirs

9 years agoaudiomixer: fix misleading documentation copied from adder
Tim-Philipp Müller [Tue, 9 Jun 2015 13:37:36 +0000 (14:37 +0100)]
audiomixer: fix misleading documentation copied from adder

9 years agodash: Add $(GST_PLUGINS_BASE_LIBS) to LIBADD
Sebastian Dröge [Tue, 9 Jun 2015 10:11:54 +0000 (12:11 +0200)]
dash: Add $(GST_PLUGINS_BASE_LIBS) to LIBADD

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

9 years agoAutomatic update of common submodule
Edward Hervey [Tue, 9 Jun 2015 09:30:29 +0000 (11:30 +0200)]
Automatic update of common submodule

From d9a3353 to 6015d26

9 years agodvdspu: Map the pixel data once per render, not *ahem* twice per byte.
Jan Schmidt [Mon, 8 Jun 2015 23:07:45 +0000 (09:07 +1000)]
dvdspu: Map the pixel data once per render, not *ahem* twice per byte.

The naive port to 1.0 from years ago was silly, make it better.

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 8 Jun 2015 21:08:04 +0000 (23:08 +0200)]
Automatic update of common submodule

From d37af32 to d9a3353

9 years agotests: dashdemux: add unit tests for checking the parsing of MPD element
Florin Apostol [Fri, 5 Jun 2015 16:20:20 +0000 (17:20 +0100)]
tests: dashdemux: add unit tests for checking the parsing of MPD element

Create a dash test target and add unit tests that check the parsing of
attributes of the MPD element and the following child elements:
 - baseURL
 - program information
 - location
 - metrics

These tests check the compliance of parts of the MPD parser in the
dashdemux element against the DASH specification [1].

    [1] http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014_Electronic_inserts.zip
        http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip

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

9 years agovideoaggregator: simplify aggregate returning
Thiago Santos [Wed, 6 May 2015 17:29:01 +0000 (14:29 -0300)]
videoaggregator: simplify aggregate returning

Rework special handling with goto/labels to only have one case
and otherwise just return normally.

9 years agovideoaggregator: refactor caps reconfigure to its own function
Thiago Santos [Wed, 6 May 2015 17:19:36 +0000 (14:19 -0300)]
videoaggregator: refactor caps reconfigure to its own function

Makes the aggregation code shorter and easier to read

9 years agovideoaggregator: fixing types in aggregate function
Thiago Santos [Wed, 6 May 2015 16:59:51 +0000 (13:59 -0300)]
videoaggregator: fixing types in aggregate function

Correctly use boolean and GstFlowReturn types in the function.

9 years agovideoaggregator: use macro to access aggregator src pad
Thiago Santos [Wed, 6 May 2015 16:08:11 +0000 (13:08 -0300)]
videoaggregator: use macro to access aggregator src pad

Makes code a bit more readable

9 years agoaggregator: add a convenience macro to get the source pad
Thiago Santos [Wed, 6 May 2015 16:07:52 +0000 (13:07 -0300)]
aggregator: add a convenience macro to get the source pad

Easier than casting or acessing the parent everywhere

9 years agotsdemux: correct fix for dead code
Luis de Bethencourt [Mon, 8 Jun 2015 13:16:22 +0000 (14:16 +0100)]
tsdemux: correct fix for dead code

Rename template to caps to keep the original intention of the code after
commit b4c9aa1c

CID #1304674

9 years agoRevert "tsdemux: remove dead code"
Luis de Bethencourt [Mon, 8 Jun 2015 13:14:41 +0000 (14:14 +0100)]
Revert "tsdemux: remove dead code"

This reverts commit 0635acfec041b1c664bc0770839b1a576e3598b1.

9 years agotsdemux: remove dead code
Luis de Bethencourt [Mon, 8 Jun 2015 12:37:32 +0000 (13:37 +0100)]
tsdemux: remove dead code

After commit b4c9aa1c308f88bf4e1f69ab0156ed9f99815e8e template will always be
NULL. The if conditional will always be FALSE, so removing it.

CID #1304674

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 21:06:38 +0000 (23:06 +0200)]
Automatic update of common submodule

From 21ba2e5 to d37af32

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:32:07 +0000 (17:32 +0200)]
Automatic update of common submodule

From c408583 to 21ba2e5

9 years agodocs: remove variables that we define in the snippet from common
Stefan Sauer [Sun, 7 Jun 2015 15:03:15 +0000 (17:03 +0200)]
docs: remove variables that we define in the snippet from common

This is syncing our Makefile.am with upstream gtkdoc.

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:16:25 +0000 (17:16 +0200)]
Automatic update of common submodule

From d676993 to c408583

9 years agoBack to development
Sebastian Dröge [Sun, 7 Jun 2015 14:45:04 +0000 (16:45 +0200)]
Back to development

9 years agodocs: only add the libs that we actually document right now
Stefan Sauer [Sun, 7 Jun 2015 14:28:43 +0000 (16:28 +0200)]
docs: only add the libs that we actually document right now

Keep the libs in alphabetical order unless a specific link order is required.
Also remove the -L directives as we specify the direct path to the .la files.

9 years agodocs: remove duplicated entry from types file
Stefan Sauer [Sun, 7 Jun 2015 14:28:22 +0000 (16:28 +0200)]
docs: remove duplicated entry from types file

9 years agozbar: split test
Stefan Sauer [Sun, 7 Jun 2015 13:59:59 +0000 (15:59 +0200)]
zbar: split test

Lets not cram everything into a single test - this would render the test name
useless for quick diagnosis. Having separate tests for the optional feature is
also verifying the behaviour when the feature is off.

9 years agoRelease 1.5.1
Sebastian Dröge [Sun, 7 Jun 2015 08:55:35 +0000 (10:55 +0200)]
Release 1.5.1

9 years agopo: Update translations
Sebastian Dröge [Sun, 7 Jun 2015 07:36:21 +0000 (09:36 +0200)]
po: Update translations

9 years agohlsdemux: Fix wrong gst-launch command in the description
Jimmy Ohn [Sat, 30 May 2015 12:35:36 +0000 (21:35 +0900)]
hlsdemux: Fix wrong gst-launch command in the description

Fix wrong gst-lauch command in the description.
This patch may help people to get right testing results using the script.

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

9 years agodfbvideosink: remove ignored assignments
Luis de Bethencourt [Fri, 5 Jun 2015 13:49:18 +0000 (14:49 +0100)]
dfbvideosink: remove ignored assignments

Remove assignments to DFBResult res that are never read.

9 years agotsdemux: remove ignored assignment
Luis de Bethencourt [Fri, 5 Jun 2015 13:34:55 +0000 (14:34 +0100)]
tsdemux: remove ignored assignment

Function goes to done before the value set in start_offset is ever used.

9 years agoFix a common typo: retreive -> retrieve
Thiago Santos [Fri, 5 Jun 2015 12:35:39 +0000 (09:35 -0300)]
Fix a common typo: retreive -> retrieve

Seems to have been copy pasted around a few places

9 years agohlsdemux: drop TODO that doesn't need a solution
Thiago Santos [Fri, 5 Jun 2015 12:22:58 +0000 (09:22 -0300)]
hlsdemux: drop TODO that doesn't need a solution

Connection speed is only checked at that point in hlsdemux so there
is no real need to refactor it.

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

9 years agoRevert "hlsdemux: Simplify logic in process_manifest"
Thiago Santos [Fri, 5 Jun 2015 12:15:34 +0000 (09:15 -0300)]
Revert "hlsdemux: Simplify logic in process_manifest"

This reverts commit 4ca3a22b6b33ad8be4383063e76f79c4d346535d.

The connection-speed=0 is used as a special value in the property
of hlsdemux to mean 'automatic' selection, m3u8.c doesn't need
to know about that as it should be as simple as possible.

So this patch hides this automatic selection documented in hlsdemux
into m3u8 logic and I think the gets harder to understand the code.

It also makes the hlsdemux unit tests work again

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

9 years agompdparser: Fix inverted logic introduced in last commit
Sebastian Dröge [Fri, 5 Jun 2015 12:30:03 +0000 (14:30 +0200)]
mpdparser: Fix inverted logic introduced in last commit

9 years agosimplevideomarkdetect: fix detect of videomark partially or fully outside video
Vineeth TM [Thu, 4 Jun 2015 23:58:03 +0000 (08:58 +0900)]
simplevideomarkdetect: fix detect of videomark partially or fully outside video

In case of the videomark being partially or fully outside,
an error was bein thrown saying, mark width is more than video width.
And when the width, offset properties are set to maximum it resulted in crash.
Instead of throwing error, added logic to detect the mark
in case of partial visibility or dont show the mark when it is outside.

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

9 years agompdparser: Calculate the number of segments we have when a segment template instead...
Sebastian Dröge [Fri, 5 Jun 2015 12:10:43 +0000 (14:10 +0200)]
mpdparser: Calculate the number of segments we have when a segment template instead of a list is used

Otherwise we would just continue downloading new files forever until we get
404 for the first one, and then error out instead of going EOS.

9 years agosimplevideomark: Add Error logs
Vineeth TM [Thu, 4 Jun 2015 23:53:30 +0000 (08:53 +0900)]
simplevideomark: Add Error logs

When the pattern offset is outside the video, the print error message

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

9 years agoRevert "mpdparser: Don't consider streams with a known media presentation duration...
Sebastian Dröge [Fri, 5 Jun 2015 11:28:39 +0000 (13:28 +0200)]
Revert "mpdparser: Don't consider streams with a known media presentation duration as live"

This reverts commit 37011e519830e0786fa6e307ed26003a2a8774f1.

This change was actually completely unnecessary, the streams in question are
marked as static and are not considered live anyway.

9 years agompdparser: Don't consider streams with a known media presentation duration as live
Sebastian Dröge [Fri, 5 Jun 2015 11:21:55 +0000 (13:21 +0200)]
mpdparser: Don't consider streams with a known media presentation duration as live

9 years agoadaptivedemux: Error out if downloading a segment failed too often in live mode
Sebastian Dröge [Fri, 5 Jun 2015 09:26:11 +0000 (11:26 +0200)]
adaptivedemux: Error out if downloading a segment failed too often in live mode

It's true that we shouldn't consider errors fatal immediately, but if we
always ignore them we will loop infinitely on live streams with segments
that can't be downloaded at all.

9 years agosrtp: Allow getting ssrc of more package types than RR and SR
Jose Antonio Santos Cadenas [Wed, 3 Jun 2015 10:17:19 +0000 (12:17 +0200)]
srtp: Allow getting ssrc of more package types than RR and SR

This allows decrypting reduce size packages. See RFC 5506

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

9 years agotsdemux: refactor pad creation
Thiago Santos [Thu, 4 Jun 2015 16:36:32 +0000 (13:36 -0300)]
tsdemux: refactor pad creation

Avoid repeating the same pad creation code everywhere

9 years agompdparser: Don't crash in debug output if stream->segments is NULL
Sebastian Dröge [Thu, 4 Jun 2015 13:57:57 +0000 (15:57 +0200)]
mpdparser: Don't crash in debug output if stream->segments is NULL

9 years agoksvideosrc: fix logic and timestamp non-muxed streams again
Tim-Philipp Müller [Thu, 4 Jun 2015 12:31:56 +0000 (13:31 +0100)]
ksvideosrc: fix logic and timestamp non-muxed streams again

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

9 years agolibde265dec: fix up plugin name and decoder description
Tim-Philipp Müller [Thu, 4 Jun 2015 11:53:19 +0000 (12:53 +0100)]
libde265dec: fix up plugin name and decoder description

9 years agompdparse: Clamp seek times to the availabilityStartTime
Sebastian Dröge [Thu, 4 Jun 2015 11:36:05 +0000 (13:36 +0200)]
mpdparse: Clamp seek times to the availabilityStartTime

Otherwise we will seek to negative times, which are interpreted as unsigned
integers later.

9 years agompdparser: Improve debug output a bit when advancing segments
Sebastian Dröge [Thu, 4 Jun 2015 11:13:39 +0000 (13:13 +0200)]
mpdparser: Improve debug output a bit when advancing segments

9 years agoadaptivedemux: Release the manifest mutex before waiting for a download
Sebastian Dröge [Thu, 4 Jun 2015 10:36:41 +0000 (12:36 +0200)]
adaptivedemux: Release the manifest mutex before waiting for a download

Otherwise we will hurt parallel downloads in the best case, and often cause
deadlocks.

9 years agoopusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz
Sebastian Dröge [Thu, 4 Jun 2015 09:54:24 +0000 (11:54 +0200)]
opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz

9 years agoopusparse: Set up default header with 48kHz sample rate instead of 0
Sebastian Dröge [Thu, 4 Jun 2015 09:52:40 +0000 (11:52 +0200)]
opusparse: Set up default header with 48kHz sample rate instead of 0

9 years agoopusdec: gst_structure_fixate_field_nearest_int() only works if the structure has...
Sebastian Dröge [Thu, 4 Jun 2015 09:45:05 +0000 (11:45 +0200)]
opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field

Just set the rate/channels directly if the caps don't have this field.

9 years agompdparser: Use 64 bit integer format strings when passing a 64 bit integer
Sebastian Dröge [Thu, 4 Jun 2015 09:05:07 +0000 (11:05 +0200)]
mpdparser: Use 64 bit integer format strings when passing a 64 bit integer

Otherwise we'll only get half of its bits printed on 32 bit architectures.

For this, promote the %d-style format strings to something that accepts
64 bit integers with G_GINT64_MODIFIER.

9 years agompdparse: Validate format strings before using them
Sebastian Dröge [Thu, 4 Jun 2015 08:47:07 +0000 (10:47 +0200)]
mpdparse: Validate format strings before using them

Using format strings from an untrusted source without validation is
calling for problems, and at least allows to remotely crash your application.
If not worse.

9 years agogl/dispmanx: Fix build
Philippe Normand [Thu, 4 Jun 2015 07:40:19 +0000 (09:40 +0200)]
gl/dispmanx: Fix build

9 years agogl/example: fix build error when compiling cocoa-videooverlay
Julien Isorce [Wed, 3 Jun 2015 21:21:30 +0000 (22:21 +0100)]
gl/example: fix build error when compiling cocoa-videooverlay

libtool: error: ignoring unknown tag OBJC
and
clang: error: argument unused during compilation: '-pthread'

9 years agogl/window/dispmanx: fix compiler warning
Matthew Waters [Thu, 4 Jun 2015 05:01:16 +0000 (15:01 +1000)]
gl/window/dispmanx: fix compiler warning

9 years agogl/window: use the default main loop implementation for all backends
Matthew Waters [Thu, 4 Jun 2015 02:16:35 +0000 (12:16 +1000)]
gl/window: use the default main loop implementation for all backends

fixes glimagsink being unable to display.

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

9 years agoglwindow_cocoa: use parent default implementation
Julien Isorce [Wed, 3 Jun 2015 20:22:09 +0000 (21:22 +0100)]
glwindow_cocoa: use parent default implementation

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

9 years agompdparser: Add the startNumber as offset to the segment index when using a template
Sebastian Dröge [Wed, 3 Jun 2015 18:03:37 +0000 (20:03 +0200)]
mpdparser: Add the startNumber as offset to the segment index when using a template