Commit graph

20642 commits

Author SHA1 Message Date
Matthew Waters
02262a20e8 glcontext: don't enable GL debug for messages that won't be logged
This is an optimization to avoid pointless string processing.
2016-02-16 14:00:05 +11:00
Alessandro Decina
effe132310 glvideoflip: don't ignore method changes when caps aren't set (yet) 2016-02-16 13:06:20 +11:00
Tim-Philipp Müller
f649e85bc9 rtp: move RTP H.265 payloader/depayloader to -good
https://bugzilla.gnome.org/show_bug.cgi?id=761606
2016-02-16 00:33:50 +00:00
Stian Selnes
e3f9e854f0 netsim: Add netsim element
Resurrected from the Farstream repository and given an
overhaul to fix races, deadlocks etc.

https://bugzilla.gnome.org/show_bug.cgi?id=756252
2016-02-12 10:08:06 +00:00
Florin Apostol
88e21e6089 dashdemux: gst_dash_demux_get_live_seek_range returns positive values
https://bugzilla.gnome.org/show_bug.cgi?id=752374
2016-02-10 14:34:48 -03:00
Tim-Philipp Müller
21dd771b69 gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way 2016-02-10 10:31:19 +00:00
Alessandro Decina
7c79b33108 gstglshader: cache uniform locations
Avoid redundant calls to glGetUniformLocation. The results can be cached once
the shader has been linked.
2016-02-10 16:37:22 +11:00
Alessandro Decina
4aaaf23868 applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s
Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used
to set it to 0 and flush manually, but apparently (looking at the GLES profiler)
0 means "disable the cache entirely".
2016-02-10 15:40:02 +11:00
Alessandro Decina
2c0aca52a8 gstglcontext: micro optimization to gst_gl_context_thread_add
Invoke the callback right away when called on the context thread. Removes
overhead when nesting libgstgl calls (for example when working with the sync
meta).
2016-02-10 13:11:35 +11:00
Julien MOUTTE
2b457a46a0 rtpmsink: Implement setcaps that uses streamheader
This allow adding rtmpsink after the flv streaming have started. Otherwise,
FLV streamheader is never sent to the server, which cannot figure-out
what is this stream about. It should also help in certain renegotiation
figures. The sink will no longer work without an streamheader in caps,
though there is no known implementation of flvdemux that does not
support this.

https://bugzilla.gnome.org/show_bug.cgi?id=760242
2016-02-09 19:35:22 -05:00
Luis de Bethencourt
8d445ee758 mssdemux: remove unnecessary check
stream->current_fragment has the value of g_list_previous (iter) which has
just been checked. No need to check it again.

Just to be safe, use a g_assert() to check fragment before dereferencing.

CID #1352041
2016-02-09 21:41:33 +00:00
Thiago Santos
632111ae14 dashdemux: plug mpd client leak
On parsing error, free the mpd client object

https://bugzilla.gnome.org/show_bug.cgi?id=760120
2016-02-09 17:30:14 -03:00
Florin Apostol
3191051828 dashdemux: fix memory leak in gst_dash_demux_update_manifest_data
new_client local variable was not freed in case of errors.
Also, the buffer is not unmapped.

https://bugzilla.gnome.org/show_bug.cgi?id=760120
2016-02-09 17:05:13 -03:00
Florin Apostol
9ccd541980 mpdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_client_get_next_segment_availability_start_time
The function actually returns the segment availability start time (as defined by the standard).
That is at the end of the segment, but it is called availability start time.

Availability end time is something else (the time when the segment is no longer
available on the server). The function name was misleading.

https://bugzilla.gnome.org/show_bug.cgi?id=757655
2016-02-09 16:49:37 -03:00
Florin Apostol
b96ea72b4f mpdparser: corrected getting segment availability
https://bugzilla.gnome.org/show_bug.cgi?id=757655
2016-02-09 16:35:44 -03:00
Florin Apostol
25c89b12d6 mpdparser: tests: added unit test for getting segment availability when segment timeline is used
https://bugzilla.gnome.org/show_bug.cgi?id=757655
2016-02-09 16:35:44 -03:00
Florin Apostol
13f66a68ed adaptive_demux: tests: improved validation of pads
When removing a pad, the on_demuxPadRemoved function must find a stream
for that pad.

https://bugzilla.gnome.org/show_bug.cgi?id=760328
2016-02-09 10:21:57 -03:00
Florin Apostol
7ed4f6f03f adaptive_demux: tests: fix pad used for AppSink event
on_demuxNewPad registered the on_appsink_event callback on a wrong pad.

https://bugzilla.gnome.org/show_bug.cgi?id=760328
2016-02-09 09:59:47 -03:00
Florin Apostol
97c562ecbf adaptivedemux: tests: remove unused demux_sent_eos callback
The demux_sent_eos callback is unused in tests. It was also registered on
a wrong pad, so it actually triggered when demux received eos from a
fragment download.

https://bugzilla.gnome.org/show_bug.cgi?id=760328
2016-02-09 09:38:54 -03:00
Florin Apostol
d07484c837 adaptivedemux: tests: remove unneeded youtube xmlns from manifests
https://bugzilla.gnome.org/show_bug.cgi?id=760328
2016-02-09 09:38:54 -03:00
Alessandro Decina
99f29ec56e applemedia: vtdec: implement GstElement::set_context 2016-02-09 14:13:26 +11:00
Alessandro Decina
915124b363 applemedia: vtdec: update copyright 2016-02-09 14:13:26 +11:00
Alessandro Decina
e34fe9fe70 applemedia: avfvideosrc: implement GstElement::set_context
Needed to properly handle gst.gl.app_context(s).
2016-02-09 14:13:26 +11:00
Alessandro Decina
022e060563 applemedia: avfvideosrc: add myself to the copyright holders 2016-02-09 14:13:26 +11:00
Matthew Waters
561b7e0613 gl: update win32 .def file 2016-02-09 13:56:32 +11:00
Matthew Waters
09c6df31e3 glsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED 2016-02-09 13:08:21 +11:00
Matthew Waters
cd4a93da3b glsyncmeta: separate out gpu/cpu waits.
CPU waits are more expensive and are only required if the CPU is ever going to
access the data. GPU waits perform inter-context synchronisation and are cheaper
as they don't require CPU intervention.
2016-02-09 12:30:25 +11:00
Luis de Bethencourt
44c0d75cff adaptivedemux: remove overwritten value
ret is overwitten before used with the return of the subclass seek.

CID #1352044
2016-02-08 23:17:40 +00:00
Luis de Bethencourt
ae96e6bd51 resindvd: remove commented out include
Commit 211828979b removed rsnaudiomunge,
no need for this commented out include for a file that doesn't exist
anymore.
2016-02-08 15:00:45 +00:00
Luis de Bethencourt
e4467618f4 Revert "resindvd: get rid of _stdint.h include"
This reverts commit 0eff6e1991.

Breaks the build when linking with dvdnav.h
2016-02-08 14:26:46 +00:00
Luis de Bethencourt
bca503a2c4 x265enc: get rid of _stdint.h include
It was never needed since it doesn't use any standard integer fixed width
types. Only the Glib types.
2016-02-08 13:43:24 +00:00
Luis de Bethencourt
0eff6e1991 resindvd: get rid of _stdint.h include 2016-02-08 13:38:29 +00:00
Piotr Drąg
4c852d61ed po: update POTFILES
https://bugzilla.gnome.org/show_bug.cgi?id=761704
2016-02-08 11:49:40 +00:00
Matthew Waters
4d8a8b3925 gleffects: identity: add the shader to the hash table
So that we don't recreate it every frame and leak memory.

https://bugzilla.gnome.org/show_bug.cgi?id=761578
2016-02-08 12:24:32 +11:00
Thiago Santos
669b360ff7 tests: extend the AM_TESTS_ENVIRONMENT from check.mak
To get the CK_DEFAULT_TIMEOUT defined for all tests

https://bugzilla.gnome.org/show_bug.cgi?id=761472
2016-02-05 20:02:22 -03:00
Thiago Santos
476768e538 Automatic update of common submodule
From e97c9bb to b64f03f
2016-02-05 18:06:32 -03:00
Luis de Bethencourt
682bce33a5 gstrtph265depay: keep consistency with rtph264depay
Use gst_rtp_drop_meta() and the same function prototype for
gst_rtp_copy_meta() to keep consistency with the RTP elements in
gst-plugins-good
2016-02-05 17:53:30 +00:00
Arun Raghavan
94f1748b6b tinyalsasink: Use glib CLAMP() instead of our own macro 2016-02-05 21:35:15 +05:30
Luis de Bethencourt
463ea1a9c7 rtph265depay: fix termination of access unit
Only consider the access unit complete when the next-occurring VCL NAL unit
has the first bit after its NAL unit header equal to 1.
2016-02-05 14:04:50 +00:00
David Waring
90fe6c5a5b adaptivedemux: Update position in stream->segment for new stream segment message.
https://bugzilla.gnome.org/show_bug.cgi?id=761458
2016-02-05 10:47:37 -03:00
Arun Raghavan
5f9065c114 tinyalsasink: Limit period size and count to what the h/w permits 2016-02-05 15:56:05 +05:30
Matthew Waters
1b0198631c gl: add .def file for msvc builds
Also internalize some API from being exported.
2016-02-05 10:46:21 +11:00
Thiago Santos
8f25333976 tests: mssdemux: add unit tests
Adds unit tests similar to the ones that we have for DASH and HLS.

Tests:

* manifest parsing finishes successfully
* some queries (duration, seekable, latency)
* seeking with various values and flags
2016-02-04 14:20:16 -03:00
Thiago Santos
ac2734f5cb mssdemux: implement snap seeking
Implement snap seek flags handling in stream_seek to allow the
parent class to handle it for us

https://bugzilla.gnome.org/show_bug.cgi?id=759158
2016-02-04 14:20:16 -03:00
Thiago Santos
c01d266238 mssdemux: use correct seek position on reverse seeks
Otherwise it was always using the 'start' value, leading to wrong
behavior
2016-02-04 14:20:16 -03:00
Thiago Santos
1b12d7f8a3 mssdemux: only update download position if the seek requests to
Some seeks are only updating the stop position, there is no need
to change the current downloading position.
2016-02-04 14:20:16 -03:00
Thiago Santos
86fb14f5ed mssdemux: do not assert on fragment reloads for non-live
It can be used as a resource to verify if the server has updated
something in the Manifest when downloads are failing
2016-02-04 14:20:16 -03:00
Thiago Santos
2bf87ad84c tests: dashdemux: add tests for snap flags seeking
Similar to HLS but DASH has the extra issue that it can have
multiple streams so snapping can be tricky as streams usually
won't be aligned.

For now, those tests handle the case of only having a single
stream.

https://bugzilla.gnome.org/show_bug.cgi?id=759158
2016-02-04 14:20:16 -03:00
Thiago Santos
40faf9e09b dashdemux: implement snap seek handling
Handle snap seeking at the stream_seek method and let superclass
do the rest to support snap seeking

https://bugzilla.gnome.org/show_bug.cgi?id=759158
2016-02-04 14:09:35 -03:00
Thiago Santos
731ab94cc3 adaptivedemux: handle snap seeks
Adaptive demuxers need to start downloading from specific positions
(fragments) for every stream, this means that all streams can snap-seek
to a different position when requested. Snap seeking in this case will
be done in 2 steps:

1) do the snap seeking on the pad that received the seek event and
   get the final position

2) use this position to do a regular seek on the other streams to
   make sure they all start from the same position

More arguments were added to the stream_seek function, allowing better control
of how seeking is done. Knowing the flags and the playback direction allows
subclasses to handle snap-seeking.
And also adds a new return parameter to inform of the final
selected seeking position that is used to align the other streams.

https://bugzilla.gnome.org/show_bug.cgi?id=759158
2016-02-04 14:05:08 -03:00