Commit graph

2755 commits

Author SHA1 Message Date
Sebastian Dröge 0c99ab5806 videoscale: 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:37:41 +02:00
Sebastian Dröge da4e79bb6b ffmpegcolorspace: 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:34:37 +02:00
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