Kipp Cannon
4c52f4e625
audioresample: Don't emit DISCONT buffers if no discontinuity happened
...
audioresample is derived from GstBaseTransform, and one of
GstBaseTransform's traits is that if the derived element does not
produce an output buffer from some input buffer then the first output
buffer after that gets flaged as a discontinuity, whether or not the
buffer actually is discontinuous from the output buffer that preceded
it. When downsampling, the audioresample element requires more than
one input sample for each output sample, and if the ratio of input to
output sample rates is high enough and the input buffers short enough
it can come to pass that the resampler does not receive enough samples
on its input to produce any output. Currently the resampler returns
GST_BASE_TRANSFORM_FLOW_DROPPED from the transform() method in this case,
causing the next buffer to be flagged as a discontinuity. If subsequent
elements in the pipeline reset themselves on disconts, this can cause
clicks and other undesireable behaviour.
Fixes bug #665004 .
2011-11-28 18:03:22 +01:00
Vincent Penquerc'h
e67aa28de9
typefind: typefind UTF-16 and UTF-32
...
This avoids the MP3 typefinder from getting the highest score
every time it thinks there's something it might possibly be
able to parse.
https://bugzilla.gnome.org/show_bug.cgi?id=607619
2011-11-28 15:58:29 +00:00
Wim Taymans
b4cdf008dd
fix for element flag cleanups
2011-11-28 16:55:32 +01:00
Vincent Penquerc'h
96374054ac
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Matej Knopp
2c55cc7bcb
uridecodebin: fix debug message printf format compiler warning
...
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2011-11-27 22:43:20 +00:00
Tim-Philipp Müller
32b14c6ed3
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisenc.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkconvertbin.c
gst/videorate/gstvideorate.c
2011-11-26 12:12:59 +00:00
Josep Torra
05ecdc1246
playsinkconvertbin: make identiy silent
2011-11-25 15:35:39 +01:00
Tim-Philipp Müller
2dc7c2f676
docs: mention explicitly that playbin2 signals are emitted from a streaming thread
2011-11-25 13:01:47 +00:00
Sebastian Dröge
a5535e76e0
decodebin2: Set the multiqueue limits to the playing limits after overrun too
...
We don't expect any new pads anymore and prerolling is finished now.
2011-11-25 11:12:10 +01:00
Sebastian Dröge
494b2cb1a7
decodebin2: Cache the upstream seekability for demuxer decode chains and use it for the non-preroll multiqueue limits
...
After preroll the multiqueue limits are still set to the preroll
limits if use-buffering is set to TRUE. In that case we only want
time limits on the multiqueue if upstream is seekable.
2011-11-25 11:12:10 +01:00
Vincent Penquerc'h
59f5d980f6
decodebin2: fix prerolling for low bitrate streams from hlsdemux
...
Such streams were detected as seekable, as the query on the typefind
element was testing the m3u8 file listing the actual streams, and
not going through the demuxer(s).
We now check for seekability for each multiqueue following a demuxer,
so the query will flow through the elements which might prevent seeking.
https://bugzilla.gnome.org/show_bug.cgi?id=647769
2011-11-25 11:12:10 +01:00
Sebastian Dröge
c6cffcfa19
videorate: Rename ARG_ enums to PROP_
...
This is more consistent with other code and these are
properties anyway, not arguments
2011-11-24 14:41:56 +01:00
Sebastian Dröge
ec062ef3f2
videorate: Add property to force an output framerate
...
API: GstVideoRate:force-fps
Changing the framerate during playback is not possible
with a capsfilter downstream if upstream is not using
gst_pad_alloc_buffer(). In that case there's no way in
0.10 to signal to videorate that the preferred framerate
has changed.
This new property will force the output framerate to
a specific value and can be changed during playback.
2011-11-24 14:40:38 +01:00
Sebastian Dröge
683735a01e
playsinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps
...
We might need to add converters and worked in passthrough mode before.
2011-11-24 12:38:54 +01:00
Sebastian Dröge
113546b777
playsinkconvertbin: Override acceptcaps function for the two ghostpads
...
The ghostpad acceptcaps functions are not valid in this case because
we don't only accept the caps accepted by the target but could also
insert converters. Fixes bug #663892 .
2011-11-24 12:37:58 +01:00
Sebastian Dröge
8f165b6206
playsinkaudioconvert: use-volume and use-converters are no construct-only properties anymore
...
Fixes bug #663893 .
2011-11-24 11:34:12 +01:00
Vincent Penquerc'h
d69e4e7a2c
videoconvert: fix width/height mismatches
...
https://bugzilla.gnome.org/show_bug.cgi?id=663238
2011-11-24 11:09:20 +01:00
Mark Nauwelaerts
2c0b294005
videoconvert: fix odd width and height handling in some fastpath cases
2011-11-24 11:04:10 +01:00
Tim-Philipp Müller
95138db216
uridecodebin: double-check property type before blindly setting/proxying values
2011-11-24 01:30:50 +00:00
Tim-Philipp Müller
16f6d13980
playbin2, uridecodebin: make connection-speed property a guint64
2011-11-24 01:18:38 +00:00
Wim Taymans
7b45a7367b
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
2011-11-23 10:50:53 +01:00
René Stadler
da69993a49
playsinkconvertbin: avoid removing children from bin twice
...
GstBin base class removes children in dispose, so we need to do the same.
2011-11-22 10:05:33 +01:00
Wim Taymans
d0bd5f04c0
update for new scheduling query
2011-11-18 17:58:58 +01:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Stefan Sauer
67364dff4c
collectpads: port API changes
2011-11-17 08:43:23 +01:00
Wim Taymans
9e8e01502e
add parent to internal links
2011-11-16 17:50:03 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
28157e6f21
_query_peer_*() -> _peer_query_*()
2011-11-15 18:04:17 +01:00
Wim Taymans
026ec68f75
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
7402d3a3d2
update for _get_caps() -> _query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
René Stadler
5f3c8eb680
audioconvert, videoconvert: fix caps leak in transform_caps
2011-11-12 01:38:37 +01:00
René Stadler
7651fa27dc
audioconvert: fix leak of channel matrix
...
gst_channel_mix_unset_matrix relies on the channel count to free the matrix
array, so run it before resetting it to zero with gst_audio_info_init.
2011-11-11 20:19:53 +01:00
René Stadler
94ce75319a
videotestsrc: fix crash with ARGB64
...
This got broken when it was ported.
2011-11-11 19:57:25 +01:00
Wim Taymans
2886955d18
Merge branch 'master' into 0.11
2011-11-11 19:36:23 +01:00
Tim-Philipp Müller
7b5e1666a4
playsinkconvertbin: fix visualisations again
...
Make caps writable before merging other caps into them.
2011-11-11 13:32:23 +00:00
Wim Taymans
6781587784
make the identity silent
2011-11-11 13:12:27 +01:00
Wim Taymans
ad8f694ec6
remove bogus files
...
They got somehow commited in 7012e88090
2011-11-11 10:39:52 +01:00
Stefan Sauer
e32ccd8e4e
controller: port controller api changes
2011-11-10 23:02:35 +02:00
Wim Taymans
e338792ab0
update for adapter api changes
2011-11-10 18:32:39 +01:00
Vincent Penquerc'h
7ca4b51b01
audioconvert: truncate caps in _fixate
...
Otherwise the resulting caps may not be fixed.
2011-11-10 14:38:09 +00:00
Wim Taymans
f2ab0b8f19
upates for new ACCEPT_CAPS query
2011-11-09 17:37:31 +01:00
Wim Taymans
372b9329b9
remove query types
2011-11-09 11:47:54 +01:00
Wim Taymans
36dce0ffda
remove streamselector
...
It was only used by playbin, which is gone now
2011-11-09 11:06:10 +01:00
Wim Taymans
8c6a2340e7
streamselector: GstSelectorPad -> GstStreamSelectorPad
...
Rename object to avoid conflicts with an object of the same name in core.
2011-11-09 10:53:38 +01:00
Wim Taymans
21bee358b2
streamselector: cleanups
2011-11-09 10:37:02 +01:00
Wim Taymans
308f6301a8
update for pad probe api changes
2011-11-08 11:08:21 +01:00
Vincent Penquerc'h
e4d27cfa60
videoconvert: fix r210 writing only half a scanline
2011-11-07 18:19:51 +00:00
Wim Taymans
616e9b706e
fix for new pad probe types
...
Restore the previous behaviour by only blocking downstream items and not
upstream events.
2011-11-07 17:10:48 +01:00
Wim Taymans
ef0247ae42
convertbin: port to 0.11 again
2011-11-07 12:43:52 +01:00
Wim Taymans
7ac25e9b26
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkaudioconvert.h
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Stefan Sauer
6cc887c53b
adder: don't ref NULL caps
2011-11-04 22:00:43 +01:00
Stefan Sauer
6c2f5317c7
volume: use new api to check activity of a controller
2011-11-04 21:00:29 +01:00
Stefan Sauer
0019bcaa47
controller: port to new location and api changes
2011-11-04 20:14:54 +01:00
Wim Taymans
b56ac475d3
playback: name conversion elements differently
2011-11-04 17:41:01 +01:00
Wim Taymans
7d9ccab8c6
uridecodebin: fix template name
2011-11-04 13:00:36 +01:00
Wim Taymans
cf8481b990
fix pad template names for request pads
2011-11-04 10:49:48 +01:00
Sebastian Dröge
7875ee11a5
subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()
...
This keeps the caps order and is more efficient.
2011-11-04 10:38:39 +01:00
Sebastian Dröge
6e9a302eca
playsinkconvertbin: Use gst_caps_merge() instead of gst_caps_union()
...
This keeps the caps order and is more efficient.
2011-11-04 10:38:38 +01:00
Wim Taymans
57fe2addef
update for request pads change.
2011-11-03 17:58:57 +01:00
Mart Raudsepp
5c58bcfd15
decodebin2: Post all source pads in stream-topology messages as "element-srcpad" values
...
This allows us to easily get ahold of all pads on a stream-topology message, including
pre-decoder ones, while "pad" only gives us access to the raw pads (as used by discoverer).
2011-11-03 14:41:08 +01:00
Mart Raudsepp
cee8710817
decodebin2: Use existing "caps" quark for one of the structure sets
2011-11-03 14:40:51 +01:00
Sebastian Dröge
b29a3d3cff
playsinkconvertbin: Don't add identity multiple times
2011-11-03 10:07:27 +01:00
Vincent Penquerc'h
7eb8a9aaf6
playsink: send flush start/stop event when we switch elements
...
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:05:44 +01:00
Vincent Penquerc'h
0cac680fac
playsink: re-add identity where appropriate
...
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:05:26 +01:00
Vincent Penquerc'h
c3e94d1c08
playsink: lock the new {set,get}_property functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:04:07 +01:00
Thiago Santos
0a07701164
playsinkconvertbin: Be more consistent with ghostpad targets
...
Set up targets on READY->PAUSED state change to passthrough by
default. This prevents the targets from being unset on the
first run, while the 'raw' variable would mean that some
target is set.
2011-11-03 10:03:07 +01:00
Thiago Santos
f9ea3fdda8
playsinkconvertbin: No need to remove the identity
...
The identity element should be handled by the GstBin's cleanup,
removing it on the remove_elements function might remove it
too soon, as this function can be called directly from playsink
2011-11-03 10:02:58 +01:00
Thiago Santos
34f72da9cc
playsinkconvertbin: Adding some debug messages
...
Adds a couple debug messages and some g_assert to make debugging
easier
2011-11-03 10:02:49 +01:00
Thiago Santos
80971a3b33
playsink-videoconvert: Fix warning on build
...
Remove unused variable
2011-11-03 10:02:39 +01:00
Vincent Penquerc'h
ae3ba53391
playsink: handle after-the-fact changes in converters/volume booleans
...
The playsink was nastily poking a boolean in the structure.
Make those booleans properties, so we are told when they change,
and rebuild the conversion bin when they do.
Some cleanup to go with it too.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:02:31 +01:00
Vincent Penquerc'h
c08a23169d
playsink: handle NULL cached caps in getcaps
...
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:02:01 +01:00
Vincent Penquerc'h
3939457b00
playsink: consider both passthrough and converter caps in getcaps
...
Since we can switch between both modes.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 10:01:52 +01:00
Vincent Penquerc'h
b34dac9a87
playsink: cache inner converter bin caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:58:03 +01:00
Vincent Penquerc'h
6925c02bc2
playsink: keep both raw and non raw pipelines at all times
...
and switch between them as needed.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:57:46 +01:00
Vincent Penquerc'h
69d98d08c1
playsink: only compare against the media type we expect
...
ie, audio/x-raw- for audio, video/x-raw- for video.
Add a trailing - to be more specific. I doubt there's anything
like audio/x-rawhide or something, but you never know.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:57:32 +01:00
Vincent Penquerc'h
fd27e34582
playsink: refactor the converter bins since they are almost identical
...
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:57:21 +01:00
Vincent Penquerc'h
c8e0d215cb
playsink: fix passthrough mode (hopefully)
...
The code was doing counterintuitive rewiring of pads when the
bin did not contain any elements. We now add an identity element
in that case, which makes it simpler, and should fix the AC3
passthrough mode when using pulseaudio (but I don't see the bug
here so can't test).
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:56:40 +01:00
Vincent Penquerc'h
2b84b328b1
playsink: handle NULL ghost pad target
...
For the src pad anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-11-03 09:56:26 +01:00
Sebastian Dröge
a583b63722
Revert "playsinkaudioconvert: Fix warning when there is no target pad yet"
...
This reverts commit f35c51c149
.
Better patch coming soon.
2011-11-03 09:56:14 +01:00
Wim Taymans
a5fa136c0b
update for tag API removal
2011-11-02 12:11:16 +01:00
Wim Taymans
e067e67923
rename meta* -> *meta
2011-11-02 09:04:27 +01:00
Wim Taymans
5bdfd6d899
structure: fix for api update
2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
b52c5819fb
Update for pad API changes
...
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:34:28 +00:00
Tim-Philipp Müller
edc7b45dc6
subtitleoverlay: don't include header that's been removed
2011-10-31 14:26:09 +00:00
Tim-Philipp Müller
d06ad8e95e
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-31 14:22:58 +00:00
Tim-Philipp Müller
5ee51e47a1
ext, gst, gst-libs, tests: update for tag list API changes
2011-10-31 14:22:39 +00:00
Tim-Philipp Müller
b6c424018b
subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run()
2011-10-30 20:00:47 +00:00
Wim Taymans
4f9dea137f
Merge branch 'master' into 0.11
2011-10-28 11:34:37 +02:00
Philip Jägenstedt
88491ff2e7
typefind: extract SOF marker in jpeg typefinder
...
The SOF types are defined by http://www.w3.org/Graphics/JPEG/itu-t81.pdf
This is needed to make sure that we plug a jpeg decoder that
can handle the type of JPEG we have (e.g. lossless JPEG)
https://bugzilla.gnome.org/show_bug.cgi?id=556648
2011-10-28 09:45:02 +01:00
Wim Taymans
06311362e9
fix compilation
2011-10-27 17:26:58 +02:00
Wim Taymans
016d036137
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/audioconvert/channelmixtest.c
gst/playback/gstplaybasebin.c
gst/playback/gstsubtitleoverlay.c
tests/examples/Makefile.am
tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
Jan Schmidt
f35c51c149
playsinkaudioconvert: Fix warning when there is no target pad yet
2011-10-27 00:23:27 +11:00
Nicolas Dufresne
cf9da5c280
decodebin2: Link elements before testing if they can reach the READY state
...
This is made possible by filtering errors. This is required to let
harware accelerated element query the video context. The video context
is used to determine if the HW is capable, and thus if the element is
supported or not.
Fixes bug #662330 .
2011-10-22 08:27:31 +02:00
René Stadler
54be243757
playbasebin: remove avoidable call to gst_object_set_name
2011-10-21 22:24:14 +02:00
René Stadler
0a5fcbb080
audioconvert: bury dead test program
2011-10-21 22:24:14 +02:00
Stefan Sauer
53d7d2e966
interfaces: clean up the use of iface and class/klass
2011-10-21 14:46:48 +02:00
René Stadler
6ffaccd284
subtitleoverlay: fix leaks of pad templates and internal proxy pads
2011-10-19 19:47:38 +02:00
René Stadler
56419cce77
subtitleoverlay: fix leak of element reference through pad block
...
If the pad block never happens because there is no data flow at all, the
callback is never fired and the reference is never released. This causes a
reference cycle between the pad and element, so valgrind is not very vocal
about it (memory is still reachable).
2011-10-19 19:47:38 +02:00
René Stadler
becba526d9
subtitleoverlay: fix event unref in (rare) error case
2011-10-18 13:02:43 +02:00