Commit graph

2753 commits

Author SHA1 Message Date
Sebastian Dröge
a2162b07ad audioresample: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.
2011-05-27 14:31:02 +02:00
Sebastian Dröge
4fcd621101 audioconvert: Use new gst_caps_is_subset_structure() API
This prevents one copy of every structure and creating a new caps
instance.
2011-05-27 14:10:50 +02:00
Sebastian Dröge
d590bce5f7 audioconvert: Optimize transform_caps()
If the second and next caps structures are a subset of the already existing
transformed caps we can safely skip them because we would transform them to
the same caps again.

This makes gst_pad_get_caps() on an audiotestsrc ! audioconvert !
audioconvert ! audioconvert ! fakesink pipeline about 1.7 times faster.
2011-05-27 13:13:42 +02:00
Sebastian Dröge
d8e0af1fc1 gst: Update for the GstBaseTransform::transform_caps() changes 2011-05-27 12:13: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
Stefan Kost
5cd0e0f666 audiotestsrc: add blue and violet noise by using spectral inversion
Add blue and violet noise by spectral inversion of pink and red noise.
Fixes #649969
2011-05-26 00:18:55 +03:00
Stefan Kost
1cf831e74e audiotestsrc: add red (brownian) noise generator
Add another noise generator which produces a quite dark noise color.

Fixes parts of #649969.
2011-05-25 23:43:56 +03:00
Stefan Kost
1916eecc30 volume: use a flag for 'mute' using the controller
Previously we checked mute_csource to determine wheter we need to premultiply
volumes and mute values. That fails as we unrefs mute_csource and set it to
NULL after. Use an extra flag instead.
2011-05-25 14:28:18 +03:00
Wim Taymans
e614c6bd81 feature: use object name instaed of feature name 2011-05-24 18:21:06 +02:00
Wim Taymans
010add200a scheduling: port to new scheduling query 2011-05-24 17:37:45 +02:00
Wim Taymans
a87c021237 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Sebastian Dröge
c867f677c0 subparse: Try to typefind even if conversion to UTF8 failed
Fixes bug #600043.
2011-05-23 16:05:35 +02:00
Sebastian Dröge
2c7cdbc2ca subparse: Compile the typefind regex with optimization to speed up matching 2011-05-23 16:05:35 +02:00
Sebastian Dröge
3dc4987138 subparse: Interprete typefind strings passed to GRegex as raw bytes instead of valid UTF8 2011-05-23 16:05:35 +02:00
Stefan Kost
762bb236fa docs: fixup appsrc/sink api docs 2011-05-23 15:02:27 +03:00
Wim Taymans
6688eea15c encodebin: use new method
Use the new element class method to get the metadata from an element. Not all
elements might have an elementfactory.
2011-05-20 12:50:39 +02:00
Sebastian Dröge
1be10803ba encodebin: Fix compilation after the removal of GstElementDetails 2011-05-20 12:32:35 +02:00
Sebastian Dröge
a9b134d1a9 Merge branch 'master' into 0.11
Conflicts:
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/gst-plugins-base-plugins.prerequisites
2011-05-20 12:26:57 +02:00
Stefan Kost
f514be993c audioconvert: cleanup helper code
make_lossless_changes() returns the same structure that we're passing (probably
to enable chaining). Instead of reusing s and making it point to s2 as well,
keep using s2. Drop the assignment which in the 2nd case is a dead one anyway.
2011-05-19 23:41:08 +03:00
Thiago Santos
b5fb542386 encodebin: Autoplug formatters
Autoplug formatters for streams if a formatter with secondary or
higher rank is found. Formatters are autoplugged when there is no
muxer or when the muxer doesn't implement the tagsetter interface.

Currently only the first formatter found is plugged, this might
help in lots of cases, but it doesn't solve the
'lamemp3 ! xingmux ! id3mux'
case.

https://bugzilla.gnome.org/show_bug.cgi?id=649841
2011-05-19 08:35:46 -03:00
Thiago Santos
0060900d68 encodebin: fix typos 2011-05-19 08:30:03 -03:00
Sebastian Dröge
884213b8b8 base: Update for SEGMENT event parse API changes 2011-05-18 17:23:18 +02:00
Sebastian Dröge
a46485e357 gst: Update for caps/pad template related API changes 2011-05-17 13:06:01 +02:00
Sebastian Dröge
03f9ca3d64 encodebin: Update for caps/pad template related API changes 2011-05-17 13:06:00 +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
07617d50d3 videorate: Update for segment API changes 2011-05-16 17:14:08 +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
e21ec369f0 videorate: Update for negotiation related API changes 2011-05-16 15:35:41 +02:00
Sebastian Dröge
7330318e2f tcpclientsrc: Update for negotation related API changes 2011-05-16 15:35:41 +02:00
Sebastian Dröge
2b9845e60f audioresample: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
616181901e playback: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
a78bf729a9 ffmpegcolorspace: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
709b831a72 encodebin: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
c020add91e audioconvert: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
48654cdacf adder: Update for negotiation related API changes 2011-05-16 15:35:40 +02:00
Sebastian Dröge
219b610fdd videotestsrc: Update for negotiation related API changes 2011-05-16 15:35:18 +02:00
Sebastian Dröge
0d39d5bb8f videoscale: Update for negotiation related API changes 2011-05-16 15:35:17 +02:00
Sebastian Dröge
cc785bade6 videoscale: basetransform is now better at trying passthrough, remove workaround 2011-05-16 15:34:49 +02:00
Wim Taymans
94dfe80f71 -base: port to new SEGMENT API 2011-05-16 13:48:11 +02:00
Mark Nauwelaerts
eba4a948fb videorate: optionally ensure maximum average output frame rate
See #628764.
2011-05-16 12:46:00 +02:00
Alexey Fisher
1e09272024 videorate: optionally only drop frames to ensure maximum frame rate
This adds option to arrange for maximal allowed variable frame rate.

Fixes #628764.
2011-05-16 12:45:47 +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
Thiago Santos
fd486588ce encodebin: Check for missing converters
Adds checks for missing video and audio converter elements
2011-05-15 13:02:39 -03: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
9d594f4242 audiorate: abs_rate is removed from segment structure 2011-05-09 16:42:34 +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
Wim Taymans
df54ba57a9 adder: fix getcaps function
Explicitely get the possible caps in the sinkpad instead of using an old removed
function.
2011-05-08 13:24:30 +02:00
Wim Taymans
d9871e3a51 videotestsrc: avoid setting caps on buffers
We don't need to set caps on buffers anymore, this is now done with a caps
event.
2011-05-08 13:14:32 +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
Sebastian Dröge
c3b778f9b1 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-05-03 09:49:26 +02:00
Wim Taymans
abcbef287d plugins: fix for allocation query API change 2011-05-02 11:11:33 +02:00
Tim-Philipp Müller
288f8babd1 gst: update orc-generated disted C backup code to orc 0.4.14 2011-04-30 17:21:28 +01:00
Wim Taymans
86a4771f8e remove buffer_alloc 2011-04-29 13:28:17 +02:00
Wim Taymans
4dab93ed51 videotestsrc: use ALLOCATION query
Use the allocation query to get the buffer parameters and potentially a
bufferpool from downstream. Use the bufferpool to create buffers.
2011-04-29 12:10:14 +02:00
Wim Taymans
079c152e62 Merge branch 'master' into 0.11
Conflicts:
	gst/videoscale/gstvideoscale.c
2011-04-25 11:20:45 +02:00
David Schleef
fc31f355ea videoscale: Fix off-by-one error in previous commit
Fix for 7c0b702e.  It helps to get your j+1's right.
2011-04-24 18:46:52 -07:00
David Schleef
7c0b702e14 videoscale: Fix ARGB bilinear scaling
Fixes #648548.  Orc generates bad code for
gst_videoscale_orc_resample_merge_bilinear_u32, so we'll use the
slightly slower two-stage process.  I'd fix Orc, but it's hard to
get excited about fixing a feature that I'm planning to deprecate
and replace.
2011-04-24 18:22:23 -07:00
David Schleef
d4dbebc606 videoscale: hack to fix invalid reads in linear
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
ce9406f4d6 videoscale: protect 4tap from out-of-bounds reads
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
8264d59aab videoscale: use simpler scaling method for small images
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 12:55:28 +01:00
Marc Plano-Lesay
2ccd243d55 audioresample: fix unused-but-set-variable warnings with gcc 4.6
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-24 12:43:33 +01:00
Sebastian Dröge
fc4d766e28 audioresample: Remove filter-length property, it only existed for backward compatibility 2011-04-19 11:36:35 +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
0759ce8533 Merge branch 'master' into 0.11 2011-04-18 13:23:32 +02:00
Tim-Philipp Müller
82a791519c gst: update disted orc backup code 2011-04-16 15:59:45 +01: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
Sebastian Dröge
67d2f852ff encodebin: Set all elements to NULL and remove them from the bin when removing a source group 2011-04-14 12:23:10 +02:00
Tim-Philipp Müller
f14c73cbfd ffmpegcolorspace: fix unused-but-set-variable warnings with gcc 4.6
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 23:19:51 +01:00
Tim-Philipp Müller
dd62fdc585 typefindfunctions: fix unused-but-set-variable warning with gcc 4.6
We don't compare the bitrates of consecutive mp3 frames on purpose
here.

https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 22:59:03 +01:00
Tim-Philipp Müller
a90adccacd multifdsink: do check return values of fcntl() and fstat()
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:44 +01: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
Mark Nauwelaerts
eb10995895 videorate: empty caps have no structure to pick 2011-04-11 15:03:55 +02: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