Thiago Santos [Fri, 13 Dec 2013 20:25:37 +0000 (17:25 -0300)]
dashdemux: use a separate GstUriDownloader per stream
Avoids one download having to wait for another to finish
before starting
Thiago Santos [Mon, 9 Dec 2013 16:55:20 +0000 (13:55 -0300)]
dashdemux: store GstActiveStream to avoid getting it every time
GstActiveStream is used everywhere to operate on the MPD client,
better store it in the GstDashDemuxStream to avoid getting it
everytime
Thiago Santos [Mon, 9 Dec 2013 16:33:53 +0000 (13:33 -0300)]
dashdemux: simplify locking for streams
Use a single lock for all streams instead of having separate locks.
This makes maintenance easier and at most points we would need
a single lock before iterating on all streams data. So not much
is gained from individual locks.
Thiago Santos [Mon, 9 Dec 2013 14:28:25 +0000 (11:28 -0300)]
dashdemux: fix multiple period mpd playback
Make dash playlists with multiple periods work again by waiting
to switch the periods when all streams have reached the end of
the current period. The stream_loop is responsible for advancing
the period, but the download loops will already start downloading
data for the next period as soon as possible.
Thiago Santos [Thu, 5 Dec 2013 05:53:18 +0000 (02:53 -0300)]
dashdemux: add combine flows function
Use a flow combination function to decide the result from the
stream_loop
Thiago Santos [Wed, 4 Dec 2013 14:30:22 +0000 (11:30 -0300)]
dashdemux: handle multiple languages
Handle multiple languages by using the not-linked return to stop
the download task for that stream. It can be reactivated when
a reconfigure event is received. Stopping the unused streams is
relevant to save network bandwidth
Thiago Santos [Tue, 3 Dec 2013 19:16:09 +0000 (16:16 -0300)]
dashdemux: Use 1 download task per stream
Instead of having a single download task for all streams, this
commit makes each stream have its own download loop, allowing
parallel download of fragments.
Thiago Santos [Tue, 3 Dec 2013 03:12:08 +0000 (00:12 -0300)]
dashdemux: refactor fragment fetching into smaller functions
Makes it easier to maintain and extend. This is a first step into
adding multi language support to dashdemux
Thiago Santos [Mon, 2 Dec 2013 20:41:01 +0000 (17:41 -0300)]
dashdemux: run gst-indent
Lots of indentation issues making it very annoying to commit
because of the indent hook. Fix this for once.
Thiago Santos [Mon, 2 Dec 2013 20:31:41 +0000 (17:31 -0300)]
dashdemux: expose all streams
always expose all streams instead of only exposing one of each type.
This is more aligned with gstreamer's way of working. Allows the user
to select the stream that it wants to use by linking its pad and leaving
the unused ones as unlinked.
Sebastian Dröge [Tue, 24 Dec 2013 10:51:16 +0000 (11:51 +0100)]
eglglessink: Properly clean up renderbuffers and EAGL context
Sebastian Dröge [Mon, 23 Dec 2013 14:33:42 +0000 (15:33 +0100)]
adpcmenc: Properly set output format
Otherwise this will just error out if we only set caps on the srcpad.
Tim-Philipp Müller [Sun, 22 Dec 2013 22:33:51 +0000 (22:33 +0000)]
Automatic update of common submodule
From dbedaa0 to d48bed3
Tim-Philipp Müller [Sun, 22 Dec 2013 21:56:03 +0000 (21:56 +0000)]
po: set gettext domain in Makevars so we don't have to patch the generated Makefile.in.in
https://bugzilla.gnome.org/show_bug.cgi?id=705455
Alessandro Decina [Sun, 22 Dec 2013 16:46:40 +0000 (17:46 +0100)]
applemedia: vtdec: set the correct stride in the video meta
Alessandro Decina [Sun, 22 Dec 2013 16:44:01 +0000 (17:44 +0100)]
applemedia: atdec: fix aac decoding on Mavericks
Stefan Sauer [Fri, 20 Dec 2013 17:12:53 +0000 (18:12 +0100)]
modplug: small seeking code reshuffle
Put the code that checks stop values together. Don't clamp a cur value of -1 to 0 (should not happen right now).
Stefan Sauer [Fri, 20 Dec 2013 17:10:14 +0000 (18:10 +0100)]
sfdec: make _stop() non fatal when we have an error already
Having no open file in _stop() is okay. Just reset state.
Stefan Sauer [Fri, 20 Dec 2013 17:08:33 +0000 (18:08 +0100)]
sfdec: add event function and seeking support
Stefan Sauer [Wed, 18 Dec 2013 07:12:07 +0000 (08:12 +0100)]
sfdec: add taglist support
Map the metadata strings and a bunch of info-fields to GStreamer tags.
Stefan Sauer [Tue, 17 Dec 2013 21:25:03 +0000 (22:25 +0100)]
sfdec: add query implementation for position and duration
Stefan Sauer [Tue, 17 Dec 2013 16:56:32 +0000 (17:56 +0100)]
sndfile: rewrite sndfile for 1.0
Add a sfdec for a start. Instead of a source plugin, this is a demuxer/decoder combination. This makes it work with auto-plugging.
Thiago Santos [Fri, 20 Dec 2013 03:39:34 +0000 (00:39 -0300)]
mssdemux: updating docs explaining how it works
mssdemux changed a lot and the docs were not correct anymore.
Also adds the 'Adaptive' category to its details
Thiago Santos [Thu, 19 Dec 2013 17:30:13 +0000 (14:30 -0300)]
mssdemux: do not push event holding object lock
Can lead to deadlocks as the push might block downstream in
serialized event cases.
Thiago Santos [Thu, 19 Dec 2013 17:29:42 +0000 (14:29 -0300)]
mssdemux: lock around 'cancelled' flag
Prevents race conditions when pipeline is seeking near eos
Sebastian Dröge [Thu, 19 Dec 2013 20:59:09 +0000 (21:59 +0100)]
audiomixer: Also resync timestamps on the RESYNC flag
Sebastian Dröge [Thu, 19 Dec 2013 20:36:50 +0000 (21:36 +0100)]
eglglessink: Don't set the EAGLContext of the main thread and don't reuse it either
... instead create a new context for every sink instance.
https://bugzilla.gnome.org/show_bug.cgi?id=720421
Alessandro Decina [Thu, 19 Dec 2013 07:57:41 +0000 (08:57 +0100)]
applemedia: corevideobuffer: fix for planar formats
Alessandro Decina [Thu, 19 Dec 2013 06:54:07 +0000 (07:54 +0100)]
applemedia: vtdec: remove silly stride requirement
This is legacy from the 0.10 times, and it isn't clear how it was useful back
then also.'
Jan Schmidt [Thu, 19 Dec 2013 00:11:28 +0000 (11:11 +1100)]
directfb: Add hack to fix compile with broken DirectFB define
Compilation breaks because some versions of DirectFB redefine
__no_instrument_function__, which is used in the G_GNUC_NO_INSTRUMENT
macro.
Thiago Santos [Tue, 17 Dec 2013 20:55:58 +0000 (17:55 -0300)]
mssdemux: fix segfault when trying to access codec_data
Check if codec_data was obtained before trying to use it to
prevent a segfault
Thiago Santos [Tue, 17 Dec 2013 20:54:31 +0000 (17:54 -0300)]
mssdemux: also generate caps from audiotag attribute
Some audio will have its audio format defined by the AudioTag
instead of the Fourcc. Fallback to using AudioTag if Fourcc
isn't available
Thiago Santos [Tue, 17 Dec 2013 19:31:52 +0000 (16:31 -0300)]
mssdemux: make sure streams stop properly on cancelled
specially when the gst_task_join is waiting for the task
to go stop and the task itself sets its back to paused, causing
a deadlock on exit.
Thiago Santos [Tue, 17 Dec 2013 16:16:58 +0000 (13:16 -0300)]
mssdemux: track segments per stream
As streams now flow independently, the GstSegment needs to be put
on each stream so they can track the position of each one correctly
instead of being mixed in a single segment
Guillaume Desmottes [Thu, 14 Nov 2013 14:23:42 +0000 (15:23 +0100)]
mssdemux: push language code tag
https://bugzilla.gnome.org/show_bug.cgi?id=712358
Guillaume Desmottes [Thu, 14 Nov 2013 14:14:18 +0000 (15:14 +0100)]
mssmanifest: store the language of the stream
https://bugzilla.gnome.org/show_bug.cgi?id=712358
Thiago Santos [Mon, 16 Dec 2013 19:14:24 +0000 (16:14 -0300)]
mssdemux: remove the stream loop task
Download and push from the same task, makes code a lot simpler
to maintain. Also pushing from separate threads avoids deadlocking
when gst_pad_push blocks due to downstream queues being full
Thiago Santos [Fri, 13 Dec 2013 20:31:11 +0000 (17:31 -0300)]
mssdemux: Improve logging
Show the stream's pad on log messages to make easier to debug
issues in the multiple threads
Thiago Santos [Tue, 10 Dec 2013 21:08:40 +0000 (18:08 -0300)]
mssdemux: improve flow return handling
Handle different flow returns both from the streaming and the
downloading loops
Thiago Santos [Tue, 10 Dec 2013 18:41:00 +0000 (15:41 -0300)]
mssdemux: remove stream locks
Simplify the locking by using a single lock instead of having one
lock per stream. This still works and is simpler to maintain.
Thiago Santos [Tue, 12 Nov 2013 12:58:31 +0000 (09:58 -0300)]
mssdemux: avoid downloading not-linked streams
When a stream gets a not-linked return, it will be marked as so and
won't download any more new fragments until a reconfigure event
is received. This will make mssdemux expose all pads, but only download
fragments for the streams that are actually being used.
Relying on the pads being linked/unlinked isn't enough in this scenario
as there might be an input-selector downstream that is actually discarding
buffers for a given linked pad.
When streams are switching, the old active stream can be blocked because
input-selector will block not-linked streams. In case the mssdemux's
stream loop is blocked pushing a buffer to a full queue downstream it will
never unblock as the queue will not drain (input-selector is blocking).
In this scenario, stream switching will deadlock as input-selector is
waiting for the newly active stream data and the stream_loop that would
push this data is blocked waiting for input-selector.
To solve this issue, whenever an stream is reactivated on a reconfigure
it will enter into the 'catch up mode', in this mode it can push buffers
from its download thread until it reaches the currrent GstSegment's position.
This works because this timestamp will always be behind or equal to the maximum
timestamp pushed for all streams, after pushing data for this timestamp,
the stream will go back to default and be pushed sequentially from the main
streaming thread. By this time, the input-selector should have already
released the thread.
https://bugzilla.gnome.org/show_bug.cgi?id=711849
Luis de Bethencourt [Wed, 18 Dec 2013 21:26:17 +0000 (16:26 -0500)]
mpegvideoparse: Fix documentation of GstMpegVideoSequenceScalableMode
Sebastian Dröge [Wed, 18 Dec 2013 12:48:54 +0000 (13:48 +0100)]
pkgconfig: Don't include libraries in the generic gst-plugins-bad pc file
Mariusz Buras [Wed, 18 Dec 2013 12:45:22 +0000 (13:45 +0100)]
mpegts: Install generated headers
https://bugzilla.gnome.org/show_bug.cgi?id=720673
Davide Bertola [Tue, 17 Dec 2013 09:01:42 +0000 (10:01 +0100)]
applemedia: vtdec: Enable hardware accelerated decoding on 10.9
Sebastian Dröge [Tue, 17 Dec 2013 11:17:51 +0000 (12:17 +0100)]
curl: Fix indention
Haridass Selvaraj [Tue, 17 Dec 2013 11:06:13 +0000 (12:06 +0100)]
curlftpsink: Optionally create a temporary file during FTP transfer/upload
https://bugzilla.gnome.org/show_bug.cgi?id=711620
Sebastian Dröge [Tue, 17 Dec 2013 09:23:15 +0000 (10:23 +0100)]
decklinksink: Give preference to the order of the filter caps when querying caps
Sebastian Dröge [Tue, 17 Dec 2013 09:21:26 +0000 (10:21 +0100)]
decklinksink: Only intersect with the filter caps if there actually is a filter
Todd Agulnick [Mon, 16 Dec 2013 05:05:31 +0000 (21:05 -0800)]
vc1parse: Some compiler warning fixes to satisfy XCode compiler
https://bugzilla.gnome.org/show_bug.cgi?id=720513
Sebastian Dröge [Mon, 16 Dec 2013 15:07:44 +0000 (16:07 +0100)]
id3tag: Read image-description from the info structure, not the caps
Aurélien Zanelli [Mon, 16 Dec 2013 10:14:29 +0000 (11:14 +0100)]
configure.ac: Fix typo in bz2 check
https://bugzilla.gnome.org/show_bug.cgi?id=720532
Sebastian Dröge [Mon, 16 Dec 2013 10:51:00 +0000 (11:51 +0100)]
id3tag: Write image-type into the APIC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:25:22 +0000 (10:25 +0100)]
vc1parse: Post VIDEO_CODEC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:24:28 +0000 (10:24 +0100)]
pngparse: Post VIDEO_CODEC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:22:24 +0000 (10:22 +0100)]
mpegvideoparse: Use pbutils API to create the VIDEO_CODEC tag string
Sebastian Dröge [Mon, 16 Dec 2013 09:21:00 +0000 (10:21 +0100)]
mpeg4videoparse: Post VIDEO_CODEC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:19:36 +0000 (10:19 +0100)]
h265parse: Post VIDEO_CODEC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:18:23 +0000 (10:18 +0100)]
h264parse: Post VIDEO_CODEC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:16:14 +0000 (10:16 +0100)]
h263parse: Post VIDEO_CODEC tag
Sebastian Dröge [Mon, 16 Dec 2013 09:13:36 +0000 (10:13 +0100)]
diracparse: Post VIDEO_CODEC tag
Todd Agulnick [Sat, 14 Dec 2013 23:12:53 +0000 (18:12 -0500)]
decklinksrc: Process EOS even when there are no incoming video frames.
https://bugzilla.gnome.org/show_bug.cgi?id=680700
Alessandro Decina [Sat, 14 Dec 2013 14:55:42 +0000 (15:55 +0100)]
applemedia: vtdec: handle level 3 in get_dpb_max_mb_s_from_level. oops.
Alessandro Decina [Sat, 14 Dec 2013 14:55:22 +0000 (15:55 +0100)]
applemedia: atdec: fix mp3 caps
Sebastian Dröge [Sat, 14 Dec 2013 17:42:11 +0000 (18:42 +0100)]
decklinksrc: Set GST_ELEMENT_FLAG_SOURCE on the source
As it does not inherit from basesrc, this flag is not automatically set
and e.g. gst_bin_iterate_sources() and other code does not consider this
element a source.
https://bugzilla.gnome.org/show_bug.cgi?id=680700
Alessandro Decina [Sat, 14 Dec 2013 12:32:26 +0000 (13:32 +0100)]
configure.ac: add missing AM_CONDITIONAL for OPENEXR and SBC
Makes my automake (1.14) happier.
Alessandro Decina [Sat, 14 Dec 2013 12:30:01 +0000 (13:30 +0100)]
applemedia: always include <Foundation/Foundation.h>
Fixes compilation with newest xcode.
Matej Knopp [Thu, 12 Dec 2013 16:49:24 +0000 (17:49 +0100)]
h264parser: not all startcodes should have 3-byte 0 prefix
The parser assumes that every time there is a 0 before the startcode,
it is part of the startcode. But that's not true.
From the specification
Byte stream NAL unit syntax
zero_byte is a single byte equal to 0x00.
When any of the following conditions are fulfilled, the zero_byte syntax
element shall be present.
– the nal_unit_type within the nal_unit( ) is equal to 7 (sequence parameter
set) or 8 (picture parameter set)
– the byte stream NAL unit syntax structure contains the first NAL unit of an
access unit in decoding order, as specified by subclause 7.4.1.2.3.
The problem with doing this for all startcodes is that a trailing zero can mess
up timestamps. The trailing zero gets prepended to the startcode, which will
carry the PTS and DTS of previous buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=664443
Thiago Santos [Tue, 10 Dec 2013 14:27:52 +0000 (11:27 -0300)]
asfparse: add timestamps to packets
re-enable the code that adds timestamps to packets after baseparse's
port
Thiago Santos [Tue, 10 Dec 2013 13:34:02 +0000 (10:34 -0300)]
asfparse: port to baseparse
asfparse was not really functional after the port to 1.0
Now porting it to baseparse to get it working again
Benjamin Gaignard [Fri, 13 Dec 2013 10:49:52 +0000 (11:49 +0100)]
dvbsuboverlay: fix reading of display window in display definition segment
From ETSI EN 300 743 V1.3.1 (2006-11) 7.2.1 Display definition segment specifictations
the parameters of display window are in this order: Xmin, Xmax, Ymin, Ymax.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Pierre-Yves Mordret <pierre-yves.mordret@st.com>
https://bugzilla.gnome.org/show_bug.cgi?id=720382
Aleix Conchillo Flaqué [Fri, 13 Dec 2013 22:16:49 +0000 (14:16 -0800)]
srtp: add 256-bit key support
* ext/srtp/gstsrtp.[ch]: added GST_SRTP_CIPHER_AES_256_ICM to
GstSrtpCipherType and new function cipher_key_size.
* ext/srtp/gstsrtpenc.c: maximum key size is now 46 characters (14 for
the salt plus the key). If different ciphers are chosen for RTP and
RTCP the maximum needed key size is expected.
* ext/srtp/gstsrtpdec.c: minor documentation updates.
https://bugzilla.gnome.org/show_bug.cgi?id=720434
Tim-Philipp Müller [Thu, 12 Dec 2013 13:21:15 +0000 (13:21 +0000)]
gsmdec: process all available input frames in one go
Instead of parsing, decoding and sending out
lots os little 20ms audio buffers one by one.
Alessandro Decina [Wed, 11 Dec 2013 17:52:53 +0000 (18:52 +0100)]
applemedia: vtdec: fix compiler warning (uninitialized variable)
Alessandro Decina [Wed, 11 Dec 2013 07:11:50 +0000 (08:11 +0100)]
applemedia: vtdec: rename reorder_queue_frame_delay to reorder_queue_length
Alessandro Decina [Wed, 11 Dec 2013 07:10:19 +0000 (08:10 +0100)]
applemedia: vtdec: report latency
Alessandro Decina [Wed, 11 Dec 2013 06:58:23 +0000 (07:58 +0100)]
applemedia: vtdec: set reorder queue length to the max DPB length
Set reorder_queue_frame_delay from the DPB size (in frames). Still not optimal,
as the DPB size is larger than the max bframe forward prediction length, but I
don't know how to compute the latter without parsing every group of pictures.
Jan Schmidt [Tue, 10 Dec 2013 12:06:53 +0000 (23:06 +1100)]
soundtouch: Call default event handler for basetransform
Make pipeline end properly at EOS and not leak by passing events
to the default event handler.
Jan Schmidt [Thu, 5 Dec 2013 13:45:50 +0000 (00:45 +1100)]
resindvd: Remove racy glib warning.
Sometimes, the pad probes can be called twice - for OOB events
travelling downstream. Clear out the pad block id, so it only
gets removed once.
Tim-Philipp Müller [Fri, 6 Dec 2013 00:22:20 +0000 (00:22 +0000)]
gsmdec: fix decoding of audio/ms-gsm variant
Alternates between 33 and 32 byte frames, but must start
with a 33 byte frame. This has been broken for ages since
the element was ported to the audio decoder base class.
https://bugzilla.gnome.org/show_bug.cgi?id=709416
Alessandro Decina [Tue, 10 Dec 2013 10:10:54 +0000 (11:10 +0100)]
applemedia: vtdec: set the correct video format in the video meta
Fixes all kinds of weird bugs when videoconvert is used with the decoder.
Cong Zhong [Wed, 17 Apr 2013 02:44:48 +0000 (10:44 +0800)]
codecparsers: h264: fix picture level scaling lists derivation (rule B).
Fix picture level scaling lists derivation from fall-back rule set B,
as specified in 7.4.2.2. More precisely, the sequence level scaling
lists need to be used but intra and inter lists arguments were swapped.
This fixes FRExt/freh5.264 from conformance testing.
https://bugzilla.gnome.org/show_bug.cgi?id=720099
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Alessandro Decina [Sun, 8 Dec 2013 15:46:58 +0000 (16:46 +0100)]
applemedia: corevideobuffer: set the correct stride for packed formats
Alessandro Decina [Sun, 8 Dec 2013 14:31:09 +0000 (15:31 +0100)]
applemedia: vtdec: fix mpeg2 video support
Alessandro Decina [Sun, 8 Dec 2013 14:25:27 +0000 (15:25 +0100)]
applemedia: vtdec: make jpeg decoding actually work
Alessandro Decina [Sun, 8 Dec 2013 14:24:58 +0000 (15:24 +0100)]
applemedia: vtdec: fail gracefully when not negotiated
Alessandro Decina [Sat, 7 Dec 2013 22:55:13 +0000 (23:55 +0100)]
applemedia: rewrite VideoToolbox decoder based on GstVideoDecoder
Olivier Crête [Sat, 7 Dec 2013 02:11:32 +0000 (21:11 -0500)]
vmcndec: Add missing header file
Forgot to add header file to previou commit
Olivier Crête [Sat, 7 Dec 2013 01:58:48 +0000 (20:58 -0500)]
vmncdec: Port to GStreamer 1.0 API
Olivier Crête [Fri, 6 Dec 2013 22:58:13 +0000 (17:58 -0500)]
stereo: Port to GStreamer 1.0 API
Olivier Crête [Fri, 6 Dec 2013 22:10:39 +0000 (17:10 -0500)]
jp2kdecimator: Port to GStreamer 1.0 API
Olivier Crête [Thu, 5 Dec 2013 21:50:27 +0000 (16:50 -0500)]
rtpasfpay: Use GstRTPBasePayload method to push buffer
This way the event is also pushed.
https://bugzilla.gnome.org/show_bug.cgi?id=719553
Sebastian Dröge [Thu, 5 Dec 2013 11:05:30 +0000 (12:05 +0100)]
sbcdec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 11:05:21 +0000 (12:05 +0100)]
adpcmdec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 11:05:09 +0000 (12:05 +0100)]
sirendec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 11:04:59 +0000 (12:04 +0100)]
opusdec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 11:04:39 +0000 (12:04 +0100)]
mpg123audiodec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 11:04:23 +0000 (12:04 +0100)]
gsmdec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 10:49:41 +0000 (11:49 +0100)]
amcvideodec: Use new gst_video_decoder_set_needs_format() API
Sebastian Dröge [Thu, 5 Dec 2013 10:49:31 +0000 (11:49 +0100)]
mfcdec: Use new gst_video_decoder_set_needs_format() API