Wim Taymans
8fe31fa12e
gststreamsynchronizer: don't abuse PREROLL flag
...
the preroll flag is not implemented and will disappear soon.
2011-08-15 18:38:04 +02:00
Wim Taymans
e904c529e3
fix for _negotiated_caps() change
2011-08-15 12:18:15 +02:00
Josep Torra
5629ed74b3
Fix debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Tim-Philipp Müller
bb65192151
ext,gst: update for query API changes
2011-07-27 01:16:53 +01:00
Edward Hervey
38a6919a7b
decodebin2: Allow all EOS to go through if we don't have a next group
...
Only drop them if the current group isn't drained .. AND there is a
next group to switch to.
Should Fix #655268
2011-07-26 12:33:56 +02:00
Edward Hervey
059db89633
playbin2: Avoid resetting playsink when not needed
...
When we don't have specific {audio|video|text}-sink properties, don't
set them on playsink when reconfiguring.
If we do that, we end up setting the previous configured sink to
GST_STATE_NULL resulting in any potentially pending push being returned
with GST_FLOW_WRONG_STATE which will cause the upstream elements to
silently stop.
https://bugzilla.gnome.org/show_bug.cgi?id=655279
2011-07-25 18:44:33 +02:00
Edward Hervey
c91928f7a2
decodebin2: Properly handle multi-stream chains
...
When we have a multi-stream (i.e. audio and video) input and the demuxer
adds/removes pads for a new stream (common in a mpeg-ts stream when the
program stream mapping is updated), the algorithm for EOS handling was
previously wrong (it would only drop the EOS of the *last* pad but would
let the EOS on the other pads go through).
The logic has only been changed a tiny bit for EOS handling resulting in:
* If there is no next group, let the EOS go through
* If there is a next group, but not all pads are drained in the active
group, drop the EOS event
* If there is a next group and all pads are drained, then the ghostpads
will be removed and the EOS event will be dropped automatically.
2011-07-25 10:45:36 +02:00
Tim-Philipp Müller
9edbc92a27
decodebin: don't plug the same parser multiple times in a row
...
This allows us to make parsers accept both parsed and unparsed input
without decodebin plugging them in a loop until things blow up, ie.
without affecting applications that still use the old playbin or the
old decodebin.
(Making parsers accept parsed input is useful for later when we want
to use parsers to convert the stream-format into something the decoder
can handle. It's also much more convenient for application authors
who can plug parsers unconditionally in transcoding pipelines, for
example).
2011-07-15 16:14:11 +01:00
Mark Nauwelaerts
ebfd6acde1
playsink: only unset initialized GValue
2011-06-28 19:03:23 +02:00
Wim Taymans
d06f599193
-base: port elements to new video caps
2011-06-16 12:52:13 +02:00
Wim Taymans
d700111396
some more ffmpegcolorspace to videoconvert changes
2011-06-15 18:08:32 +02:00
Wim Taymans
35bec59536
ffmpegcolorspace: remove plugin
2011-06-15 18:01:04 +02:00
Tim-Philipp Müller
59581d464f
uridecodebin, decodebin: remove new-decoded-pad and removed-decoded-pad signals
...
They were deprecated, use "pad-added" and "pad-removed" instead.
2011-06-15 00:32:23 +01:00
Tim-Philipp Müller
8573dbdf66
playback: rename playbin2 to playbin
...
But keep source file name as-is for now.
2011-06-15 00:06:09 +01:00
Tim-Philipp Müller
5fd073e070
playback: merge playbin and decodebin plugins into one single playback plugin again
2011-06-15 00:02:13 +01:00
Tim-Philipp Müller
b5ef8efa1a
decodebin2: rename decodebin2 to decodebin
...
But don't rename source file for now, which hopefully
makes merging from master easier.
2011-06-14 23:53:38 +01:00
Tim-Philipp Müller
24f28cfdb0
playback: remove old playbin and decodebin elements
2011-06-14 23:42:27 +01:00
Wim Taymans
f565812e25
playback: changes for message API changes
2011-06-08 13:45:41 +02:00
Wim Taymans
5f271d64a6
playback: fix compilation after ghostpad setcaps removal
2011-06-03 13:12:31 +02:00
Wim Taymans
ea672b68a1
playsinconvert: clear the probe id when removing
2011-06-02 12:12:04 +02:00
Wim Taymans
3b09cfe54d
playsink: refactor block/unblock code a little
2011-06-02 12:08:22 +02:00
Sebastian Dröge
5c97aa2e5c
playsink: Fix deadlock in the audio/video converter bins when linking fails
2011-06-02 11:54:35 +02:00
Wim Taymans
f91c753959
probes: port to new API for blocking and probes
2011-06-01 19:34:54 +02:00
Wim Taymans
c7428aeaae
playbin: fixed for new pad block API
2011-05-30 18:36:14 +02:00
Wim Taymans
8501753033
-base: change for changed set_blocked API
2011-05-26 16:18:16 +02:00
Sebastian Dröge
bf08ca7020
Merge branch 'master' into 0.11
2011-05-26 13:54:09 +02:00
Sebastian Dröge
216258fbc2
playbin2: Let the input-selectors sync all streams to the running time
...
This is especially needed when switching between a non-sparse and sparse
video stream, see bug #537382 . It also lowers the time needed for switching
between streams a bit.
2011-05-26 11:41:50 +02:00
Wim Taymans
e614c6bd81
feature: use object name instaed of feature name
2011-05-24 18:21:06 +02:00
Sebastian Dröge
884213b8b8
base: Update for SEGMENT event parse API changes
2011-05-18 17:23:18 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
8549dd352d
Revert "decodebin2: Update for GstQuery related API changes"
...
This reverts commit 549128c2a3
.
2011-05-17 11:24:18 +02:00
Sebastian Dröge
549128c2a3
decodebin2: Update for GstQuery related API changes
2011-05-16 17:13:14 +02:00
Sebastian Dröge
34849f0108
playsink: Update for other 0.11 API changes
2011-05-16 17:13:04 +02:00
Sebastian Dröge
01c798605a
playsink: Use correct number of parameters to gst_pad_get_caps()
2011-05-16 17:08:45 +02:00
Sebastian Dröge
d0362c2b87
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/alsa/gstalsasrc.c
gst-libs/gst/audio/gstbaseaudiosink.c
gst-libs/gst/tag/gstxmptag.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge
616181901e
playback: Update for negotiation related API changes
2011-05-16 15:35:40 +02:00
Wim Taymans
94dfe80f71
-base: port to new SEGMENT API
2011-05-16 13:48:11 +02:00
Mark Nauwelaerts
4ba6acdba5
uridecodebin: use bitrate to configure streaming buffer-duration default case
...
In particular, in audio only cases whose (estimated) metadata provides bitrate
information, the buffer-size based on such bitrate (and buffer-duration)
will be much more reasonable than queue2 default buffer-size.
2011-05-16 12:44:52 +02:00
Mark Nauwelaerts
8480b1ef1d
uridecodebin: remove some dead code
...
... which was dead as pads were never added to the list, and need not be added,
since removing them is handled by a pad callback.
2011-05-16 12:44:50 +02:00
Andoni Morales Alastruey
dd36e4cd0e
decodebin2: fix preroll for streams at low bitrates
...
For streams at low bitrates we need to set a limit in time because the limit
in bytes might not reached too late, sometimes more than 30 seconds.
This limit can only be set if upstream is seekable (see #584104 )
Closes #647769
2011-05-14 11:42:33 +02:00
Sebastian Dröge
9337a293e1
playsink: Use new ghostpad/proxypad API to get the internal pad
2011-05-14 11:42:33 +02:00
Sebastian Dröge
9b6e1952a4
playsink: Use new ghostpad/proxypad API
2011-05-14 11:42:33 +02:00
Sebastian Dröge
2f8467d682
playsink: Add audio and video converter convenience bins
...
These reconfigure based on the caps and plugin in converters if
necessary. This also makes switching between compressed and raw
streams work flawlessly without loosing the states of any element
somewhere or having running time problems.
2011-05-14 11:42:32 +02:00
Sebastian Dröge
105da803ad
playbin2/playsink: Decide if A/V caps are raw only inside playsink
...
Before playbin2 would use different selectors for raw audio and
compressed audio (and the same for video) and used different
pads from playsink. This made the involved logic much more
complex and was not implemented completely in playsink, which
made it impossible to support files with a compressed and
uncompressed stream that is support by the sink.
playbin2 handles raw/non-raw streams the same now and the
decision is left to playsink, which now can also handle
caps changes from raw to non-raw and the other way around.
Fixes bug #632788 .
2011-05-14 11:42:32 +02:00
Sebastian Dröge
45bf51dcdf
subtitleoverlay: Use new, public ghostpad functions
2011-05-14 11:42:32 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
7cad11e912
-base: fix for now request pad API
2011-05-10 16:44:37 +02:00
Wim Taymans
556afdef97
message: don't acces the structure directly
2011-05-10 13:35:49 +02:00
Wim Taymans
5dbc49ccf7
event: don't access the event structure
...
the event structure is now hidden, so don't access it directly.
2011-05-10 11:54:30 +02:00
Wim Taymans
bdb4676455
qos: _qos_full -> _qos
2011-05-09 18:53:03 +02:00
Wim Taymans
816f4e791d
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge
6512a6c73d
subtitleoverlay: Update for new GstIterator API
2011-05-05 18:47:58 +02:00
Sebastian Dröge
820c0c1d3b
playbin2: Update for new GstIterator API
2011-05-05 18:47:50 +02:00
Sebastian Dröge
03f7820d2c
streamselector: Return a NULL iterator instead of an empty iterator that returns NULL if there's no otherpad
2011-05-05 18:38:53 +02:00
Sebastian Dröge
b015e5e763
playbasebin: Update for new GstIterator API
2011-05-05 18:35:46 +02:00
Sebastian Dröge
5bb005ad51
uridecodebin: Fix usage of gst_iterator_fold()
2011-05-05 18:29:13 +02:00
Sebastian Dröge
64851f12c0
gst: Update for new GstIterator API
2011-05-05 16:03:52 +02:00
Wim Taymans
86a4771f8e
remove buffer_alloc
2011-04-29 13:28:17 +02:00
Sebastian Dröge
f10a8f0986
gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:35:53 +02:00
Sebastian Dröge
8eceb64b99
Merge branch 'master' into 0.11
2011-04-16 09:33:44 +02:00
Sebastian Dröge
352edd1dd9
Merge branch 'master' into 0.11
2011-04-16 09:12:31 +02:00
Mark Nauwelaerts
961226e0cd
playbin2: avoid foregoing READY_TO_NULL when appropriate
2011-04-15 11:13:31 +02:00
Mark Nauwelaerts
2bb91c4880
playbin2: ensure proper PAUSED_TO_READY cleanup
...
... since going async to PAUSED might fail, and never making it to PAUSED
subsequently skips going down to READY.
Fixes #647781 .
2011-04-14 22:14:50 +02:00
Marc Plano-Lesay
bf2b14f860
fix unused-but-set-variable warnings with gcc 4.6
...
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:37 +01:00
Wim Taymans
6e160bed3d
Merge branch 'master' into 0.11
...
Conflicts:
android/alsa.mk
android/app.mk
android/app_plugin.mk
android/audio.mk
android/audioconvert.mk
android/decodebin.mk
android/decodebin2.mk
android/gdp.mk
android/interfaces.mk
android/netbuffer.mk
android/pbutils.mk
android/playbin.mk
android/queue2.mk
android/riff.mk
android/rtp.mk
android/rtsp.mk
android/sdp.mk
android/tag.mk
android/tcp.mk
android/typefindfunctions.mk
android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Wim Taymans
da1c863711
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
David Schleef
12513a9537
Remove setting of plugindir from Makefiles
2011-04-01 13:55:56 -07:00
Wim Taymans
e1869fa267
Merge branch 'master' into 0.11-fdo
2011-03-28 20:13:59 +02:00
Wim Taymans
3b03e23559
plugins: port some plugins to the new memory API
2011-03-27 16:35:28 +02:00
Sebastian Dröge
c27cd709bf
playsink: Update comment about why an audio queue is needed
2011-03-24 14:22:00 +01:00
Sebastian Dröge
65320a04ab
Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
...
This reverts commit df886c0622
.
2011-03-24 14:21:01 +01:00
Sebastian Dröge
df886c0622
playsink: Only add a queue before the audio sink if visualizations are enabled
...
The queue is not needed otherwise and will add some delay to track
switches.
2011-03-24 14:04:54 +01:00
Sebastian Dröge
2c057f745f
playsink: Remember automatically created sinks for future reconfigures
...
Also allow reuse of sink elements in error cases.
2011-03-23 15:08:13 +01:00
Sebastian Dröge
9c13edef4e
playbin2: Check if an already existing sink supports the non-raw format too
...
Before we were assuming that a sink will always support all non-raw formats
in a single stream.
2011-03-23 14:43:36 +01:00
Arun Raghavan
b0ef98001f
playbin2: Check if an element accepts requisite caps before selecting
...
In addition to ensuring that an element we want to select in
autoplug-select can enter the READY state, we also now check if it can
accept the caps we wish to plug it for. This is handy for sinks that
need to perform a probe to figure out whether they can actually handle a
given format.
2011-03-23 14:42:05 +01:00
Sebastian Dröge
b76efc7f5d
playbin2: Set sinks to READY before checking if it accept caps
...
Fixes bug #642732 .
2011-03-23 14:33:17 +01:00
Sebastian Dröge
a0ff13217a
playbin2: Always prefer the custom set sink and also set it back to NULL in all cases.
2011-03-23 14:31:40 +01:00
Sebastian Dröge
4e49d58917
playbin2: Only consider the audio/video sinks in autoplug_continue for the normal uridecodebin
...
Considering them for the subtitle uridecodebin will add audio/video
streams that might be in a file used as subtitle file.
2011-03-23 14:28:36 +01:00
Tim-Philipp Müller
e8f5b3a579
uridecodebin: post proper error message if decodebin2/typefind elements are missing
...
Post better error messages in case typefind/decodebin2 are missing or
could not be loaded for some reason (e.g. because they inadvertently
got blacklisted).
https://bugzilla.gnome.org/show_bug.cgi?id=644892
2011-03-16 10:19:42 +00:00
Wim Taymans
95f7fd8edf
Merge branch 'master' into 0.11-fdo
2011-03-15 11:11:56 +01:00
Stefan Kost
63be375c21
plaback: trim trailing whitespace
2011-03-14 10:43:42 +02:00
Stefan Kost
7f1382112e
decodebin2: reflow configuring new multiqueue instance
...
Use a single g_object_set to configure the new multiqueue instance. Also don't
needlessly set "use-buffering" if it is the default.
2011-03-14 10:43:42 +02:00
Wim Taymans
6aa22111a1
Merge branch 'master' into 0.11
2011-03-04 16:21:13 +01:00
Stefan Kost
cf9aaffcb9
playbin2: set several properties in one go
...
g_object_set is a varargs function. Save 7 g_obvject_calls (and the overhead of
them) by using it accordingly.
2011-03-04 14:43:20 +02:00
Wim Taymans
03c710d6cd
miniobject: fix for changed miniobject
2011-02-28 11:50:03 +01:00
Wim Taymans
c6dd11981d
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Sebastian Dröge
4ac6f5ff83
decodebin2: Only prevent to autoplug the same parser multiple times for the same chain
...
Parsers are the only element class that are not changing the data and
could lead to an infinite loop. Other element classes like demuxers,
e.g. id3demux, can be used multiple times in a row and sometimes are.
2011-02-27 09:32:55 +01:00
Sebastian Dröge
c7f5290247
decodebin2: Break the double-factory checking loop immediately if the factory was used already
2011-02-26 23:43:39 +01:00
Sebastian Dröge
5058f79226
decodebin2: Don't use the same element multiple times in the same chain
...
This is going to lead to an infinite loop of this element and can easily
happen with parsers that accept their own src caps on the sinkpad.
2011-02-26 23:40:48 +01:00
Sebastian Dröge
32c30b88ff
decodebin2: Improve detection of raw caps in expose-all-streams=false mode
...
Previously we only checked against the raw caps but we should also
check against the return value of autoplug-continue. Additionally fix
a thread-safety issue with accessing the raw caps.
2011-02-26 23:24:11 +01:00
Tim-Philipp Müller
c48c193b56
playbin2, uridecodebin: add "source-setup" signal
...
Add "source-setup" signal for convenience and discoverability. No need
to figure out "notify::source", look up the notify callback signature,
then do an g_object_get() to get the source element..
https://bugzilla.gnome.org/show_bug.cgi?id=626152
2011-02-24 16:53:01 +00:00
Mark Nauwelaerts
19052a847d
playsink: release all chains when going to NULL
...
Also fixes #642466 .
2011-02-23 14:33:40 +01:00
Mark Nauwelaerts
102b4feddf
playsink: undo state change side effect on error way out
...
... to avoid subsequent cleanup disposing an element not in NULL state.
2011-02-23 14:33:35 +01:00
Mark Nauwelaerts
948e4d50a6
playsink: avoid crashing on the way out when needed chain missing
2011-02-23 10:33:44 +01:00
Sebastian Dröge
0e3c32ac72
playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats
...
This should be changed again in 0.11, if a sink really claims to support ANY
caps it should support everything or provide correct caps.
2011-02-18 17:29:07 +01:00
Sebastian Dröge
2fc70442a7
playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
...
This might be faster and more accurate in some cases to detect if a
sink supports a format and autoplugging can be stopped.
2011-02-18 14:04:38 +01:00
Sebastian Dröge
09750a0132
uridecodebin: Add default handler for autoplug-select
...
uridecodebin proxies this signal and only the first signal handler
will ever be called from decodebin2, which is uridecodebin's proxy
signal handler.
2011-02-18 12:06:30 +01:00
Sebastian Dröge
91122e4efc
uridecodebin: Return NULL from the default autoplug-sort handler
...
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:02:18 +01:00