Commit graph

14494 commits

Author SHA1 Message Date
Carlos Rafael Giani
c5b75394a9 audiobasesink: added custom clock slaving method
This new clock slaving method allows for installing a callback that is
invoked during playback. Inside this callback, a custom slaving
mechanism can be used (for example, a control loop adjusting a PLL or an
asynchronous resampler). Upon request, it can skew the playout pointer
just like the "skew" method. This is useful if the clocks drifted apart
too much, and a quick reset is necessary.

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

https://bugzilla.gnome.org/show_bug.cgi?id=708362
2015-06-09 21:51:05 +10:00
Edward Hervey
1b80196aed Automatic update of common submodule
From d9a3353 to 6015d26
2015-06-09 11:30:15 +02:00
Tim-Philipp Müller
6ed7ea73cf tools: gst-play: add shortcuts to switch audio/subtitle/video tracks 2015-06-09 10:20:58 +01:00
Sreerenj Balachandran
90bbb830d9 playback: Skip 'ANY' capsfeature while finding the count of common capsfeatures
https://bugzilla.gnome.org/show_bug.cgi?id=687182
2015-06-09 10:13:08 +02:00
Sreerenj Balachandran
16378a7de3 playback: Add gstplaybackutils.{h,c} to deploy the common subroutines
Bring some of the helper functions in gstplaybin2.c to new files
gstplaybackutils.{h,c} which can be utilized by other files
in gst/playback too.

https://bugzilla.gnome.org/show_bug.cgi?id=687182
2015-06-09 10:13:08 +02:00
Stefan Sauer
51c3ef05cd Automatic update of common submodule
From d37af32 to d9a3353
2015-06-08 23:07:47 +02:00
Vivia Nikolaidou
4fdbe215dc tools: gst-play: sort directory entries
When adding a directory to the playlist, the order would be whatever
g_dir_read_name returned. Sorting these using natural sort order.

https://bugzilla.gnome.org/show_bug.cgi?id=750585
2015-06-08 20:25:40 +01:00
Tim-Philipp Müller
6221c95d48 ximagesink, xvimagesink: fix string leaks when setting class hint
https://bugzilla.gnome.org/show_bug.cgi?id=750455
2015-06-08 20:19:42 +01:00
Nicolas Dufresne
cb49acf158 video: Allow using bt2020 by name in colorimetry
As the lookup stops at the first element in the array with a NULL
name, bt2020 could not be used by name. Moving up this entry
fixes the issue.
2015-06-08 13:01:43 -04:00
Luis de Bethencourt
fc01b3f13f ximagesink: set WM_CLASS of window
Set WM_CLASS of the ximagesink window so window managers can apply rules
based on xprop filtering.
2015-06-08 17:08:30 +01:00
Luis de Bethencourt
c3a19f7851 xvimagesink: set WM_CLASS of window
Set WM_CLASS of the xvimagesink window so window managers can apply rules
based on xprop filtering.
2015-06-08 17:08:26 +01:00
Stefan Sauer
92ef0f8c38 Automatic update of common submodule
From 21ba2e5 to d37af32
2015-06-07 23:06:08 +02:00
Luis de Bethencourt
7423eafa85 libvisual: clean dereferences of private structures
https://bugzilla.gnome.org/show_bug.cgi?id=742875
2015-06-07 18:49:48 +01:00
Luis de Bethencourt
380d68fbe5 libvisual: make private all variable subclasses don't need
https://bugzilla.gnome.org/show_bug.cgi?id=742875
2015-06-07 18:23:23 +01:00
Stefan Sauer
8f28cf684b Automatic update of common submodule
From c408583 to 21ba2e5
2015-06-07 17:31:55 +02:00
Stefan Sauer
381708474a docs: remove variables that we define in the snippet from common
This is syncing our Makefile.am with upstream gtkdoc.
2015-06-07 17:18:05 +02:00
Stefan Sauer
0d6356d156 Automatic update of common submodule
From 241fcb7 to c408583
2015-06-07 17:16:13 +02:00
Sebastian Dröge
37961bd4b3 Back to development 2015-06-07 16:44:31 +02:00
Sebastian Dröge
a2156638d5 Release 1.5.1 2015-06-07 10:04:41 +02:00
Sebastian Dröge
b7455f9707 po: Update translations 2015-06-07 09:35:03 +02:00
Sebastian Dröge
3113e341ea rtpbasepayload: Always prefer downstream's ssrc suggestion if any
Otherwise ssrc changes via rtpsession's (deprecated!) internal-ssrc property
are not possible anymore. rtpsession was now patched to only suggest an ssrc
if it makes sense to do so.

In 2.0 we should get rid of all the properties that are also negotiated via
caps, the code and behaviour is too confusing otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=749581
2015-06-05 16:44:08 +02:00
Sebastian Dröge
bf5d3bf868 rtcpbuffer: Improve documentation of new functions a bit
Also actually add them to the documentation.
2015-06-05 10:18:21 +02:00
Jose Antonio Santos Cadenas
9931bef8ca rtcpbuffer: Update package validation to support reduced size rtcp packets
According to this section of the rfc.
https://tools.ietf.org/html/rfc5506#section-3.4.2
The validation should be updated to accept more types of RTCP
packages, with this mask change feedback packages will be also
accepted.

Change-Id: If5ead59e03c7c60bbe45a9b09f3ff680e7fa4868
2015-06-05 10:18:21 +02:00
Mathieu Duponchelle
2ad27e4c13 audioresample: copy metadata that only has the "audio" tag.
https://bugzilla.gnome.org/show_bug.cgi?id=750406
2015-06-04 19:16:40 +02:00
Mathieu Duponchelle
579967278a audiofilter: copy metadata that only has the "audio" tag.
https://bugzilla.gnome.org/show_bug.cgi?id=750406
2015-06-04 19:16:40 +02:00
Mathieu Duponchelle
88484399c5 audioconvert: copy metadata that only has the "audio" tag.
https://bugzilla.gnome.org/show_bug.cgi?id=750406
2015-06-04 19:16:40 +02:00
Mathieu Duponchelle
decea41ac7 discoverer: Serialize the top level DiscovererInfo
Which contains fields such as duration, uri and tags.

https://bugzilla.gnome.org/show_bug.cgi?id=749673
2015-06-04 19:16:40 +02:00
Sebastian Dröge
b3b2251c59 codec-utils: Add AAC channel configurations 11, 12 and 14 and levels 6 and 7 2015-06-04 16:31:12 +02:00
Edward Hervey
ce16635f46 check: Use GST_CHECK_MAIN () macro everywhere
Makes source code smaller, and ensures we go through common initialization
path (like the one that sets up XML unit test output ...)
2015-06-02 16:14:39 +02:00
Tim-Philipp Müller
c0f55ecf4d pbutils: add description for video/x-cavs caps
https://bugzilla.gnome.org/show_bug.cgi?id=727731
2015-06-02 12:47:50 +01:00
Edward Hervey
3be76663af win32: Update def file for new encoding API 2015-06-02 12:28:19 +02:00
Tim-Philipp Müller
6410aba1aa rtpbuffer: optimise payload mapping for buffers with one memory
Micro-optimisation: if the buffer consist of just one memory, we
know we have already mapped that memory to read the headers, so
no need to map it another time to get to the payload data, we
can just set up the payload data details right there and then
and avoid another map call in gst_rtp_buffer_get_payload().
Adds up when receiving RTP-payloaded raw video which can easily
be thousands of packets per frame.
2015-06-01 19:01:23 +01:00
Tim-Philipp Müller
bc309a100f rtpbasedepayload: provide chain_list function on sink pad
Implement a chain_list function, which avoids lots of locking
compared to the default fallback implementation in GstPad.
We may also want to do some more sophisticated timestamp
tracking here at some point, but for now leave it up to the
jitterbuffer and/or subclasses (in case buffers in the
buffer list have no timestamp set on them, there may only
be a timestamp for the whole list on the first buffer).
This provides the exact same behaviour as the default
fallback implementation.
2015-06-01 19:00:55 +01:00
Thibault Saunier
dcfb8a83a5 encodebin: Add a way to enable/disabled a GstEncodingProfile
Summary:
So that the user can easily use the same encoding profile to render
with/without audio/video stream.

API:
  gst_encoding_profile_is_disabled
  gst_encoding_pofile_set_enabled

https://bugzilla.gnome.org/show_bug.cgi?id=749056
2015-06-01 10:22:31 +02:00
Luis de Bethencourt
22302db7fc tools: gst-play: remove unnecessary variable
The second assignment of sret is never used. We can remove the first assignment
and use the value directly instead.
2015-05-30 15:34:57 +01:00
Sebastian Dröge
8803ea2d8b id3v2frames: Fix compiler warnings
id3v2frames.c:951:20: error: unused variable 'utf16enc' [-Werror,-Wunused-const-variable]
static const gchar utf16enc[] = "UTF-16";
                   ^
id3v2frames.c:952:20: error: unused variable 'utf16leenc' [-Werror,-Wunused-const-variable]
static const gchar utf16leenc[] = "UTF-16LE";
                   ^
id3v2frames.c:953:20: error: unused variable 'utf16beenc' [-Werror,-Wunused-const-variable]
static const gchar utf16beenc[] = "UTF-16BE";
                   ^
2015-05-30 08:12:03 +02:00
Jan Schmidt
b7fd8ffb76 part-stereo-multiview-video: Add a section of open design questions 2015-05-30 01:11:47 +10:00
Jan Schmidt
4882cb9f37 video-format: Fix minor docs typo 2015-05-30 01:11:47 +10:00
Jan Schmidt
db86cff74d videotestsrc: Document the solid-color pattern 2015-05-30 01:11:47 +10:00
Jan Schmidt
b14ede9332 playback: Document GST_PLAY_FLAG_SOFT_COLORBALANCE 2015-05-30 01:11:47 +10:00
Jan Schmidt
d18aa5b741 video: Make gst_buffer_get_video_meta() a real function, Return lowest id
Instead of returning the first video meta found on a buffer, return the
one with the lowest id (which is usually the same thing, except on
multi-view buffers)
2015-05-30 01:11:47 +10:00
Tim-Philipp Müller
a24b9cd5c2 discoverer: don't crash on unknown info types when deserializing
Handle unknown info types when deserializing instead of
dereferencing NULL pointers.

Coverity CID 1302394
2015-05-29 15:30:41 +01:00
George Kiagiadakis
6ab46d8f0a sdp: prevent the sdp message parser from reading past the end of the buffer
Otherwise, a malformed SDP message could crash the application,
or even maliciously gather data from the memory located after
this buffer...

https://bugzilla.gnome.org/show_bug.cgi?id=750096
2015-05-29 15:05:31 +02:00
George Kiagiadakis
a998d380bd tests: add test for videorate caps renegotiation after a framerate has been calculated and added to caps
The original 0/1 framerate must still be allowed to be configured
on the upstream side of videorate, otherwise future caps renegotiation
is going to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=750032
2015-05-29 15:03:38 +02:00
George Kiagiadakis
c84f911cee videorate: update the caps framerate only in the GST_PAD_SINK transform_caps direction
When a stream has a variable framerate, videorate calculates it and
forces it on the output caps. However, the code in _transform_caps()
currently also does that if the transform is going in the opposite
direction (GST_PAD_SRC), so during a renegotiation it tries to force
upstream to use the calculated framerate and it fails.

https://bugzilla.gnome.org/show_bug.cgi?id=750032
2015-05-29 15:03:05 +02:00
Thiago Santos
12ac087807 playsink: use queue to avoid lock in audiotee audio branches
This part of pipeline is:

tee name=t ! visualizationbin ! streamsynchronizer name=s
t. ! s.

streamsynchronizer might block and it could starve the visualization
branch of the pipeline when it is enabled.

The visualization bin has queues internally but the other branch
that links the audiotee directly to the synchronizer is vulnerable
to block. Adding a queue between "t. ! s." fixes deadlocks.

https://bugzilla.gnome.org/show_bug.cgi?id=749676
2015-05-28 04:56:16 -03:00
Claudiu Florin Lazar
af7a311c1c basetextoverlay: make deltax and deltay properties controllable
This will be more useful once we have absolute direct
control bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=749824
2015-05-26 09:24:16 +01:00
Guillaume Desmottes
1c10b58cce oggdemux: fix chain leak
Don't leak the building_chain when destroying.

Fix leaks with the validate.http.playback.reverse_playback.vorbis_theora_1_ogg
scenario.

https://bugzilla.gnome.org/show_bug.cgi?id=748964
2015-05-26 08:28:23 +01:00
Tim-Philipp Müller
ea5d912b9f tag: id3v2: fix parsing of UTF-16 text on systems with crippled iconv
Use g_utf16_to_utf8() instead of the more generic g_convert(), so
that we can extract text in UTF-16 format even on embedded systems
with crippled iconv support.

This code path is exercised by the id3demux test_unsync_v23
check in gst-plugins-good.

https://bugzilla.gnome.org/show_bug.cgi?id=741144
2015-05-25 22:40:17 +01:00
Tim-Philipp Müller
a5f6c4583c Add new generated rtp enum files to .gitignore 2015-05-25 22:37:06 +01:00