Sebastian Rasmussen [Sun, 2 Mar 2014 04:25:48 +0000 (05:25 +0100)]
.gitignore: Ignore gcov intermediate files
https://bugzilla.gnome.org/show_bug.cgi?id=725481
Sebastian Dröge [Sat, 1 Mar 2014 16:13:58 +0000 (17:13 +0100)]
hlsdemux: Implement proper handling of discontinuities
It's not really correct yet for seeks but better than what
we had before.
See https://bugzilla.gnome.org/show_bug.cgi?id=695846
Aleix Conchillo Flaqué [Fri, 28 Feb 2014 19:16:27 +0000 (11:16 -0800)]
srtpenc: unref caps after gst_query_set_caps_result
https://bugzilla.gnome.org/show_bug.cgi?id=725412
Alex Ashley [Tue, 25 Feb 2014 11:45:46 +0000 (11:45 +0000)]
hlsdemux: Segfaults if playlist has no media files
hlsdemux causes a null pointer dereference if the media playlist
does not contain any media files. The gst_m3u8_client_get_duration
function assumes that demux->client->current->files is valid when
computing duration.
gst_m3u8_client_update needed to be modified to check for the
case of downloading an M3U8 file that doesn't contain any media
files, and returning an error to gsthlsdemux.c
This bug can be reproduced by creating a master m3u8 file that
contains one media playlist that points back to the master m3u8
file. For example create a file called bug725134.m3u8:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=
1251135, CODECS="avc1.42001f mp4a.40.2", RESOLUTION=640x352
bug725134.m3u8
https://bugzilla.gnome.org/show_bug.cgi?id=725134
Sebastian Dröge [Fri, 28 Feb 2014 08:34:59 +0000 (09:34 +0100)]
Automatic update of common submodule
From
fe1672e to
bcb1518
Sebastian Dröge [Thu, 27 Feb 2014 21:28:16 +0000 (22:28 +0100)]
mpegdemux: Don't write after the end of the psm array when initialising it
Sebastian Dröge [Thu, 27 Feb 2014 20:45:34 +0000 (21:45 +0100)]
openalsrc: Remove unused function to fix compiler warning
Sebastian Dröge [Thu, 27 Feb 2014 20:41:53 +0000 (21:41 +0100)]
id3tag: Remove unused function to fix compiler warning
Sebastian Dröge [Thu, 27 Feb 2014 14:49:20 +0000 (15:49 +0100)]
hlsdemux: Init and clear a mutex
GLib initialises automatically for us for some reason... but of course
does not clear the mutex once the demuxer is destroyed.
Sebastian Dröge [Thu, 27 Feb 2014 14:41:30 +0000 (15:41 +0100)]
hlsdemux: Unref seek events before returning from the seek handler
Otherwise we leak them all.
Sebastian Dröge [Thu, 27 Feb 2014 11:02:19 +0000 (12:02 +0100)]
uridownloader: Fix debug output to describe the new reality
Sebastian Dröge [Thu, 27 Feb 2014 10:53:12 +0000 (11:53 +0100)]
uridownloader: Warning messages are not fatal
Also they need to be parsed with gst_message_parse_warning(),
gst_message_parse_error() does not work on them.
Stefan Ringel [Wed, 26 Feb 2014 21:26:48 +0000 (22:26 +0100)]
docs: mpegts: add missed docs
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=725278
Stefan Ringel [Wed, 26 Feb 2014 20:08:23 +0000 (21:08 +0100)]
docs: dvbsrc: add missed args
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
https://bugzilla.gnome.org/show_bug.cgi?id=725278
Stefan Sauer [Wed, 26 Feb 2014 21:12:23 +0000 (22:12 +0100)]
Automatic update of common submodule
From
1a07da9 to
fe1672e
Stefan Sauer [Wed, 26 Feb 2014 18:18:54 +0000 (19:18 +0100)]
docs: remove stray ( in Makefile.am
Thiago Santos [Tue, 25 Feb 2014 01:53:14 +0000 (22:53 -0300)]
mpegtsmux: forward tags that have global scope
Instead of dropping all tag events
https://bugzilla.gnome.org/show_bug.cgi?id=644395
Thiago Santos [Tue, 25 Feb 2014 01:43:56 +0000 (22:43 -0300)]
tsdemux: store global tags to push later
Keep a list of current global tags around and push them
whenever a new stream is started. Also convert all stream
specific tags to global as they are stream specific for
the container, so they are global for the streams from
within that container.
https://bugzilla.gnome.org/show_bug.cgi?id=644395
Stefan Sauer [Wed, 26 Feb 2014 10:32:01 +0000 (11:32 +0100)]
docs: install prebuilt plugin docs if gtk-doc is disabled
Sync to the Makefile.am from gst-plugin-base where it is done right.
Fixes #725034
Alex Ashley [Fri, 21 Feb 2014 09:36:51 +0000 (09:36 +0000)]
hlsdemux: Fix parsing of CODECS and RESOLUTION
hlsdemux does not check for the '"' character in #EXT-X-STREAM-INF
attributes. The CODECS parameter is an example of an attribute
that might use the '"' symbol and might contain a ',' character
inside this quoted string.
For example: CODECS="avc1.77.30, mp4a.40.2"
hlsdemux does not correctly parse the RESOLUTION attribute, it
assumes that an '=' character is used to delineate the width
and height values, but the HLS RFC states that a 'x' character
must be used as the delimiter between width and height.
https://bugzilla.gnome.org/show_bug.cgi?id=725140
Alex Ashley [Fri, 21 Feb 2014 09:30:49 +0000 (09:30 +0000)]
hlsdemux: Fix for URLs that contain a '/' in the query parameter
If the URL for the master manifest files contains a '/' character
in the query parameter (for example
http://example.net/1054559_h264_1500k.mp4/master.m3u8?acl=/*1054559_h264_1500k.mp4),
hlsdemux is incorrectly converting the relative URLs of the media
playlists in to absolute URLs. It is incorrectly using the last '/' it
finds in the URL. According to RFC3986 the '/' character is allowed in
the query part of the URL.
https://bugzilla.gnome.org/show_bug.cgi?id=725137
Julien Isorce [Mon, 2 Dec 2013 10:01:12 +0000 (10:01 +0000)]
eglglessink: move GstEGLImageBufferPool to gstegl lib
https://bugzilla.gnome.org/show_bug.cgi?id=706054
Jesper Larsen [Tue, 25 Feb 2014 11:17:20 +0000 (12:17 +0100)]
test: mpegts: Add check for SDT
https://bugzilla.gnome.org/show_bug.cgi?id=724981
Jesper Larsen [Sat, 22 Feb 2014 15:46:31 +0000 (16:46 +0100)]
mpegts: Add constructor for dvb service descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724981
Jesper Larsen [Tue, 25 Feb 2014 09:28:38 +0000 (10:28 +0100)]
docs: mpegts: Add new SDT API
https://bugzilla.gnome.org/show_bug.cgi?id=724981
Jesper Larsen [Sat, 22 Feb 2014 15:47:57 +0000 (16:47 +0100)]
mpegts: Add support for creation of SDT
https://bugzilla.gnome.org/show_bug.cgi?id=724981
Jesper Larsen [Sat, 22 Feb 2014 15:41:22 +0000 (16:41 +0100)]
mpegts: Add transport_stream_id to GstMpegTsSDT
The transport_stream_id is contained in the subtable extension.
Introduce a variable for readability.
https://bugzilla.gnome.org/show_bug.cgi?id=724981
Edward Hervey [Tue, 25 Feb 2014 10:29:06 +0000 (11:29 +0100)]
mpegpsdemux: Initialize PSM fully
Some gaps were missed in the previous version. Instead just initialize
the whole table to -1 first and then fill what needs to be specified.
Edward Hervey [Mon, 24 Feb 2014 14:52:53 +0000 (15:52 +0100)]
mpegts: Fix descriptor checks
Only use g_return_val_if_fail on provided direct arguments. The others get
checked all the time.
https://bugzilla.gnome.org/show_bug.cgi?id=724464
Kipp Cannon [Mon, 24 Feb 2014 19:56:03 +0000 (14:56 -0500)]
debugutilsbad.c fails gst-indent check
this patch is "gst-indent debugutilsbad.c"
https://bugzilla.gnome.org/show_bug.cgi?id=725090
Jesper Larsen [Sat, 22 Feb 2014 17:22:26 +0000 (18:22 +0100)]
mpegts: network_name: Check converted length
Check the length of the name argument after it has been converted.
https://bugzilla.gnome.org/show_bug.cgi?id=723953
Jesper Larsen [Sat, 8 Feb 2014 21:47:20 +0000 (22:47 +0100)]
tests: Add test for mpegts library
Tests for PAT, PMT, and NIT
Creates a new table, and populates it with descriptors.
Parses the newly created tables, and checks the data.
Creates a GstMpegTsSection from the tables, and packetize the sections.
The packetized section data is byte-wise compared to a static byte array
https://bugzilla.gnome.org/show_bug.cgi?id=723953
Thiago Santos [Mon, 24 Feb 2014 14:06:28 +0000 (11:06 -0300)]
examples: gst-camerabin2-test: new 1.x raw caps format
Remove -yuv and -rgb from video/x-raw as those are from the
old 0.10 version
Sebastian Dröge [Sun, 23 Feb 2014 14:18:22 +0000 (15:18 +0100)]
hlsdemux: Keep track of timestamps by adding them up during playback
...instead of adding them from the start of playlist every time. This
among other things fixes timestamps for live streams, where the playlist
is some kind of ringbuffer of fragments and thus adding from the beginning
of the playlist will miss the past fragments.
https://bugzilla.gnome.org/show_bug.cgi?id=724983
Sebastian Dröge [Sun, 23 Feb 2014 10:01:57 +0000 (11:01 +0100)]
hlsdemux: Deprecate fragments-cache property
The buffering/caching is handling completely different now and
outside of hlsdemux.
Brendan Long [Wed, 19 Feb 2014 01:16:35 +0000 (19:16 -0600)]
katedec: Merge new tags with existing tags to prevent overwriting demuxer tags
https://bugzilla.gnome.org/show_bug.cgi?id=724699
Sebastian Dröge [Thu, 20 Feb 2014 14:09:36 +0000 (15:09 +0100)]
ext: Use Codec/Demuxer/Adaptive for the adaptive streaming demuxers
Sebastian Dröge [Mon, 17 Feb 2014 08:19:32 +0000 (09:19 +0100)]
hlsdemux: Refactor threading and downloading
We now download fragments as fast as possible and push them downstream
while another thread is just responsible for updating live playlists
every now and then.
This simplifies the code a lot and together with the new buffering
mode for adaptive streams in multiqueue makes streams start much faster.
Also simplify threading a bit and hopefully make the GstTask usage safer.
Sebastian Dröge [Wed, 19 Feb 2014 08:35:45 +0000 (09:35 +0100)]
hlsdemux: Only switch pads if the caps are changing
Chris Bass [Fri, 21 Feb 2014 12:33:42 +0000 (12:33 +0000)]
dashdemux: ensure segments aren't fetched before they're available
Incorrect time scaling in gst_dash_demux_wait_for_fragment_to_be_available()
means that media segments are fetched before their availablity time. This
patch fixes this.
https://bugzilla.gnome.org/show_bug.cgi?id=724875
Edward Hervey [Fri, 21 Feb 2014 13:06:24 +0000 (14:06 +0100)]
mpegtsbase: Uncomment PAT clearup in _reset
The PAT is related to the stream, we therefore want it cleared along
with anything stream related.
This commented section was from the (old) mpegtsparse and *might* have
been related to speeding up DVB start-up. But we have another plan for that.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724716
Chris Bass [Tue, 18 Feb 2014 10:19:52 +0000 (10:19 +0000)]
dashdemux: initialise demux->last_manifest_update
demux->last_manifest_update is not initialised at startup, with the
effect that live manifests are reloaded immediately after the download
loop begins. This patch fixes this.
https://bugzilla.gnome.org/show_bug.cgi?id=724790
Edward Hervey [Sun, 29 Dec 2013 15:00:01 +0000 (16:00 +0100)]
mpegtspacketizer: Fix ts_to_offset beyond last observed PCR
The requested TS might be beyond the last observed PCR. In order to calculate
a coherent offset, we need to use the last and previous-to-last groups.
https://bugzilla.gnome.org/show_bug.cgi?id=721035
Brendan Long [Thu, 13 Feb 2014 00:15:44 +0000 (18:15 -0600)]
mpegts: Add gst_mpegts_section_get_data, to allow us to get the original binary section data.
https://bugzilla.gnome.org/show_bug.cgi?id=724255
Edward Hervey [Thu, 20 Feb 2014 18:08:33 +0000 (19:08 +0100)]
mpegts: Add size guards for descriptors where neeeded
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724464
Edward Hervey [Thu, 20 Feb 2014 17:14:51 +0000 (18:14 +0100)]
mpeg-ts: Rename private function
Calling it _desc_checks when it was in fact used for sections was a
tad confusing ...
Stefan Ringel [Sun, 16 Feb 2014 09:45:21 +0000 (10:45 +0100)]
mpegts: Add support for content descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724034
Stefan Ringel [Sun, 16 Feb 2014 09:44:55 +0000 (10:44 +0100)]
mpegts: Add support for component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724034
Stefan Ringel [Sun, 16 Feb 2014 09:43:52 +0000 (10:43 +0100)]
mpegts: Add support for extended event desriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724034
Stefan Ringel [Mon, 10 Feb 2014 20:52:28 +0000 (21:52 +0100)]
mpegts: Add support for DVB terrestrial delivery system descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724069
Sebastian Dröge [Sun, 16 Feb 2014 09:09:18 +0000 (10:09 +0100)]
configure: Rename all variables related to the winks plugin
It does not make sense to call them after directshow if they
are for the winks plugin only.
https://bugzilla.gnome.org/show_bug.cgi?id=724100
Andoni Morales Alastruey [Mon, 8 Apr 2013 12:04:10 +0000 (14:04 +0200)]
hlsdemux: fix update interval with respect of the spec
Sebastian Dröge [Fri, 14 Feb 2014 11:39:06 +0000 (12:39 +0100)]
amcaudiodec: Calculate number of samples per frame for MP3 and use that
Some audio decoders (at least the MP3 decoder on MTK based devices) outputs
raw audio in batches of multiple audio frames. We need to handle that
properly, otherwise the base class will be kind of unhappy.
Sebastian Dröge [Fri, 14 Feb 2014 11:33:08 +0000 (12:33 +0100)]
amcaudiodec: Error out if we get an invalid raw audio buffer size
Sebastian Dröge [Fri, 14 Feb 2014 11:32:31 +0000 (12:32 +0100)]
amcvideodec: Store return value of gst_caps_merge_structure()
The inputs are both invalid afterwards.
Sebastian Dröge [Fri, 14 Feb 2014 11:31:29 +0000 (12:31 +0100)]
amcvideodec: Release buffer to Android if allocating output failed
Sebastian Dröge [Fri, 14 Feb 2014 11:28:50 +0000 (12:28 +0100)]
amcaudiodec: Release buffer back to Android if allocating output fails
Sebastian Dröge [Thu, 13 Feb 2014 09:21:15 +0000 (10:21 +0100)]
uridownloader: Keep alive connections if the source supports that
Sebastian Dröge [Thu, 13 Feb 2014 09:06:48 +0000 (10:06 +0100)]
uridownloader: Re-use old source element if possible
Allows to implement keep-alive handling in the source element.
Sebastian Dröge [Wed, 12 Feb 2014 17:49:13 +0000 (18:49 +0100)]
hlsdemux: Ignore empty lines in the playlist
Based on a patch by Andoni Morales.
Sebastian Dröge [Wed, 12 Feb 2014 17:47:45 +0000 (18:47 +0100)]
hlsdemux: Make sure to ignore \r in line endings in every case
Sebastian Dröge [Wed, 12 Feb 2014 17:27:21 +0000 (18:27 +0100)]
hlsdemux: Give a proper name to the srcpads and remove it when resetting the element
Sebastian Dröge [Wed, 12 Feb 2014 17:06:43 +0000 (18:06 +0100)]
uridownloader: Fix potential deadlock
The streaming thread might use our lock, so shutting
down the element while holding that lock calls for problems.
Sebastian Dröge [Wed, 12 Feb 2014 16:59:45 +0000 (17:59 +0100)]
uridownloader: Shutdown the source element before unlinking it
Otherwise we might get warnings about pushing to unlinked pads.
Based on a patch by Andoni Morales.
Sebastian Dröge [Wed, 12 Feb 2014 15:46:31 +0000 (16:46 +0100)]
hlsdemux: Stop leaking GErrors in some error paths
Gil Pedersen [Fri, 11 May 2012 11:58:28 +0000 (13:58 +0200)]
hlsdemux: don't pause task when it is stopped
This fixes a potential dead-lock situation from GstTask
https://bugzilla.gnome.org/show_bug.cgi?id=675869
Sebastian Dröge [Wed, 12 Feb 2014 15:01:05 +0000 (16:01 +0100)]
hlsdemux: Wait for the update task to finish when shutting down
Sebastian Dröge [Wed, 12 Feb 2014 14:33:06 +0000 (15:33 +0100)]
hlsdemux: Prevent rounding errors due to division by using gst_util_uint64_scale()
Arnaud Vrac [Thu, 25 Jul 2013 17:36:48 +0000 (19:36 +0200)]
hlsdemux: schedule next update based on the fragment duration
Sebastian Dröge [Wed, 12 Feb 2014 14:16:23 +0000 (15:16 +0100)]
hlsdemux: Properly error out if caps can't be typefind instead of using NULL caps
Arnaud Vrac [Mon, 29 Jul 2013 16:00:31 +0000 (18:00 +0200)]
hlsdemux: log fragment timestamp
Sebastian Dröge [Wed, 12 Feb 2014 13:10:02 +0000 (14:10 +0100)]
hlsdemux: Use g_ascii_xdigit_value() instead of our own version of it
Sebastian Dröge [Wed, 12 Feb 2014 12:40:41 +0000 (13:40 +0100)]
hlsdemux: Error out if the key is not 16 bytes large
Sebastian Dröge [Wed, 12 Feb 2014 12:13:30 +0000 (13:13 +0100)]
hlsdemux: Download playlists with compression, keys and fragments without
Sebastian Dröge [Wed, 12 Feb 2014 12:11:38 +0000 (13:11 +0100)]
mssdemux: Download the manifest with compression, the fragments without
Sebastian Dröge [Wed, 12 Feb 2014 12:10:50 +0000 (13:10 +0100)]
dashdemux: Download MPD with compression, the fragments without
Sebastian Dröge [Wed, 12 Feb 2014 12:08:29 +0000 (13:08 +0100)]
uridownloader: Add support for compressed downloads
Very useful for playlists, less useful for media files.
Sebastian Dröge [Wed, 12 Feb 2014 10:26:04 +0000 (11:26 +0100)]
hlsdemux: Don't set the element private data on the srcpads
It's not used anyway.
Sebastian Dröge [Wed, 12 Feb 2014 10:25:41 +0000 (11:25 +0100)]
hlsdemux: Use gst_pad_use_fixed_caps() on the srcpads
Sebastian Dröge [Wed, 12 Feb 2014 09:59:38 +0000 (10:59 +0100)]
hlsdemux: Cache the key fragment instead of downloading it over and over again
Sebastian Dröge [Wed, 12 Feb 2014 09:58:45 +0000 (10:58 +0100)]
hlsdemux: Fix cleanup when decryption fails
First unmap buffers, then unref them. And also unref the
key fragment.
Lihua Liu [Tue, 11 Feb 2014 14:20:58 +0000 (15:20 +0100)]
curlsmtpsink: Include timezone information in mail header
https://bugzilla.gnome.org/show_bug.cgi?id=724125
Sebastian Dröge [Tue, 11 Feb 2014 17:15:45 +0000 (18:15 +0100)]
hlsdemux: Don't try decryption if an unsupported method is found
Sebastian Dröge [Tue, 11 Feb 2014 17:15:07 +0000 (18:15 +0100)]
hlsdemux: Properly parse IV from the playlist
Without this every fragment's first 16 bytes will be corrupted
if not the fallback IV is used by the playlist.
Sebastian Dröge [Tue, 11 Feb 2014 14:26:01 +0000 (15:26 +0100)]
uridownloader: Reset cancelled state after fetching an URI
Otherwise it will never ever be able to fetch anything after an
error until the user resets it manually.
Sebastian Dröge [Tue, 11 Feb 2014 13:57:16 +0000 (14:57 +0100)]
hlsdemux: Propagate download errors properly and post error messages if they're fatal
Sebastian Dröge [Tue, 11 Feb 2014 13:18:32 +0000 (14:18 +0100)]
ext: Update for GstUriDownloader API changes
Sebastian Dröge [Tue, 11 Feb 2014 13:13:30 +0000 (14:13 +0100)]
uridownloader: Provide some more details about errors if downloading fails
Sebastian Dröge [Tue, 11 Feb 2014 08:20:45 +0000 (09:20 +0100)]
configure: The winks plugin is not ported to 1.0 yet
https://bugzilla.gnome.org/show_bug.cgi?id=724100
Aleix Conchillo Flaqué [Mon, 10 Feb 2014 23:38:08 +0000 (15:38 -0800)]
shm: call close() after shutdown()
shutdown() doesn't close the file descriptor so we leak sockets if we
don't call close().
https://bugzilla.gnome.org/show_bug.cgi?id=724077
Aleix Conchillo Flaqué [Mon, 10 Feb 2014 22:33:49 +0000 (14:33 -0800)]
shm: use shutdown() instead of close()
we make sure both ends get notified when the socket is closed by using
shutdown() instead of close().
https://bugzilla.gnome.org/show_bug.cgi?id=724077
Sebastian Dröge [Mon, 10 Feb 2014 17:29:23 +0000 (18:29 +0100)]
hlsdemux: Start downloading the next fragment immediately after caching the initial fragments
And only afterwards wait until a fragment was played. Otherwise we're keeping
our cache most of the time at "fragments-cache" fragments minus one.
Also allow setting "fragments-cache" to 1 now to start playback even faster.
Sebastian Dröge [Mon, 10 Feb 2014 17:27:58 +0000 (18:27 +0100)]
hlsdemux: Start fetching new fragments whenever we have less fragments cached than given by the fragments-cache property
Waiting until our cache is empty before starting to fetch the next fragment
kind of defeats the purpose of caching multiple fragments.
Sebastian Dröge [Mon, 10 Feb 2014 17:21:38 +0000 (18:21 +0100)]
hlsdemux: Fix bitrate calculation
g_get_monotonic_time() returns microseconds, not nanoseconds.
Sebastian Dröge [Mon, 10 Feb 2014 16:26:27 +0000 (17:26 +0100)]
hlsdemux: Actually store doubles as such and don't truncate them to ints
Fixes broken duration reporting.
Sebastian Dröge [Mon, 10 Feb 2014 16:25:57 +0000 (17:25 +0100)]
hlsdemux: Use locale-independent int/float parsing functions from GLib
Wim Taymans [Mon, 10 Feb 2014 13:34:40 +0000 (14:34 +0100)]
fluiddec: add more soundfont search paths
Fedora installs the soundfonts in /usr/share/soundfonts/ so make sure we
look there as well.
Руслан Ижбулатов [Mon, 10 Feb 2014 08:19:52 +0000 (08:19 +0000)]
Change soundfont file search path for fluiddec
Use glib to get a list of system "share" directories, then go through that
list, appending 'sounds/sf2/' to each directory to get a soundfont directory,
and looking for .sf2 files there.
This way fluiddec is able to load sf2 files on W32, because otherwise the
path '/usr/share/sounds/sf2' makes no sense there.
Fixes #724013
Руслан Ижбулатов [Mon, 10 Feb 2014 08:21:04 +0000 (08:21 +0000)]
Fix winks configure test
Fixes #723995
Руслан Ижбулатов [Mon, 10 Feb 2014 08:22:05 +0000 (08:22 +0000)]
winks: Make headers known to automake
Fixes #724003