Commit graph

1902 commits

Author SHA1 Message Date
Stefan Kost
509256dce5 playbin2: better error message on sink failure
If we could create the sinks, but the don't work, don't send the missing plugin
message and report that the state-changed failed.
2009-04-08 16:43:27 +03:00
Michael Smith
a0959afb01 playbin2: don't leak selector when getting current stream numbers. 2009-04-03 10:51:42 -07:00
Jan Schmidt
c2a56e3115 playbin: Add simple 'raw decoding mode'.
Raw decoding mode removes almost all buffering in video and audio queues
when a source providing already decoded video/audio is detected, on the
possibly bogus assumption that such a source should provide sufficient
internal queueing. Fixes playback on some DVDs, and improves it
on all.
2009-04-02 12:18:08 +01:00
Sebastian Dröge
22f99da35c videoscale: Don't read over line ends when taking the last Cr or Cb 2009-04-02 11:10:12 +02:00
Sebastian Dröge
db1236505e videoscale: Don't write to few pixels and don't mix Cr and Cb
Fixes bug #577054.
2009-04-02 10:53:10 +02:00
Tim-Philipp Müller
d271c8de53 audioresample: fix negotiation so that upstream can actually fixate to downstream's rate
If one side has a preference for a particular sample rate or set of sample rates, we
should honour this in the caps we advertise and transform to and from, so that elements
actually know about the other side's sample rate preference and can negotiate to it
if supported. Also add unit test for this.
2009-04-01 15:36:38 +01:00
Tim-Philipp Müller
ce51cad163 docs: add a blurb about redirect messages to playbin2 docs 2009-04-01 15:36:37 +01:00
Sebastian Dröge
ab7d52c053 videoscale: Fix linear scaling for one byte components
Fixes bug #577054.
2009-03-29 12:01:33 +02:00
Sebastian Dröge
954b1713e1 videoscale: Fix 4tap scaling of YUYV and friends 2009-03-29 11:53:40 +02:00
Sebastian Dröge
9d586e0475 videoscale: Rewrite YUYV (and friends) scaling and don't read/write over line ends
Partially fixes bug #577054, there's just one issue left now.
2009-03-28 16:08:44 +01:00
Sebastian Dröge
b5793ccd0d videoscale: Use bilinear instead of 4tap scaling for heights < 4
Partially fixes bug #577054.
2009-03-28 11:57:35 +01:00
Sebastian Dröge
8eb3572eef videoscale: Don't read after the end of a line when lineary scaling YUYV/UYVY/RGB/RGBA
This case is for upscaling a frame with width=1
Partially fixes bug #577054.
2009-03-28 11:57:19 +01:00
Sebastian Dröge
b69231ad21 videoscale: Don't read after the end of a line when lineary scaling YUYV/UYVY
Partially fixes bug #577054.
2009-03-28 11:27:56 +01:00
Sebastian Dröge
1c36c03001 videotestsrc: Initialize buffer memory with zeroes
This prevents valgrind warnings when accessing the "x" parts
of xRGB and friends in other elements that handle (and can handle)
xRGB like ARGB (for example videoscale).
2009-03-28 10:40:43 +01:00
Sebastian Dröge
e2f823c2f3 videocale: Add support for video/x-raw-gray with bpp=depth=8 2009-03-28 10:06:24 +01:00
Sebastian Dröge
dea48dc885 videotestsrc: Add support for generating video/x-raw-gray with bpp=depth=8 2009-03-28 10:01:00 +01:00
Sebastian Dröge
77bc4ff763 ffmpegcolorspace: video/x-raw-gray is the same as the YUV Y800 format 2009-03-28 09:43:23 +01:00
Sebastian Dröge
96b9ec4da0 videoscale: Take the next luma value instead of every second next when scaling UYVY and friends 2009-03-27 19:12:49 +01:00
Sebastian Dröge
12bbcc4db9 videoscale: Add support for v308 YUV colorspace 2009-03-27 19:09:47 +01:00
Sebastian Dröge
92eb02c71f videoscale: Add my copyright to the 4tap scalers 2009-03-27 13:15:11 +01:00
Sebastian Dröge
014f6f1508 videoscale: Enable 4-tap scaling for all supported formats 2009-03-27 13:14:17 +01:00
Sebastian Dröge
77795ac240 videoscale: Implement 4-tap scaling for RGB565 and RGB555 2009-03-27 13:14:00 +01:00
Sebastian Dröge
c1653fc5b0 videoscale: Implement 4-tap scaling for UYVY 2009-03-27 10:47:39 +01:00
Sebastian Dröge
435e9f8b38 videoscale: Implement 4-tap scaling for YUY2 and YVYU 2009-03-27 09:33:58 +01:00
Sebastian Dröge
2045a89350 videoscale: Implement 4-tap scaling for RGB and BGR 2009-03-26 22:14:53 +01:00
Sebastian Dröge
c2d31eb2d1 videoscale: Implement 4-tap scaling for RGBA and other 4 byte formats 2009-03-26 22:08:26 +01:00
Wim Taymans
5ec2d48f0a decodebin2: do some more cleanup
Free the groups when we go to READY.
Allow for NO_PREROLL elements.
2009-03-25 19:01:45 +01:00
Wim Taymans
9bf8277d13 playbin2: add more support for subpictures 2009-03-24 18:29:28 +01:00
Wim Taymans
e7b382c6a9 playbin2: first support for subpictures
Add beginnings of subpicture support.
2009-03-24 17:12:53 +01:00
Wim Taymans
786b0c248c playbin2: blacklist subpictures for now
Blacklist the subpictures until we add support for them.
Add some small debug info.
See #576408.
2009-03-24 12:23:24 +01:00
Wim Taymans
852ace9cce uridecodebin: expose more media types
Expose more media types from a raw source, such as the subpicture and various
text pads.
Small cleanups  and add some more debugging.
See #576408.
2009-03-24 12:19:30 +01:00
Wim Taymans
7cf4e3eb15 playbin2: rescan audio sinks for volume/mute
Rescan the audio sinks for the mute and volume properties.
fixes #576180.
2009-03-24 10:42:04 +01:00
Wim Taymans
14be3f41e2 playbin2: fix reuse of the video chains
When reusing playbin with visualisations, reset the async property on the video
sink because some sinks might dynamically recreate their sinks.
Fixes #576188
2009-03-23 19:40:18 +01:00
Wim Taymans
7628319688 playbin2: allow dynamic swtiching of subtitles
When we have the textpad configured, enable and disable the subtitles by setting
the silent flag on the overlay element instead of trying to remove elements.
See #576187
2009-03-23 17:38:46 +01:00
Wim Taymans
d8003bea06 playbin2: fix dynamic switching of visualisations
Fix the switching of visualisations by requesting and releasing the tee request
pads on demand.
See #576187.
2009-03-23 16:06:43 +01:00
Stefan Kost
3d20bad4ba docs: add examples for tcp elements, also use correct section name. Fixes #564139
Updated the examples in the README to actually work. Add them to api docs. Tests
the api-docs and fix the section names to make the docs actualy show up.
The example for "tcpserversrc" needs review (might be an element bug).
2009-03-23 17:03:38 +02:00
Stefan Kost
46c18b2aa3 indent: fix damange that gst-indent did some time ago 2009-03-23 17:03:37 +02:00
Wim Taymans
7cc84f9205 playbin2: fix linking order
Link after doing the state change and unlink before shutting down. Makes the
window for causing races in toggling the visualisations smaller.
See #576187.
2009-03-23 15:27:27 +01:00
Wim Taymans
779d6f886d uridecodebin: reset counter
reset the number of pending dynamic operations back to 0 when we reuse
uridecodebin.
Fixes #576190
2009-03-23 12:28:18 +01:00
Wim Taymans
554b3aafe4 decodebin2: a pad starts out being not drained.
Mark a new pad as not drained until we get EOS on it.
2009-03-20 15:47:47 +01:00
LRN
23e603f054 win32: fix seeking in large files
Fix Seeking in large files by using the 64-bit seek functions.
Fixes #576019
2009-03-20 14:17:19 +01:00
Wim Taymans
600a810236 decodebin2: recover from failing to add a pad
When we cannot add a pad to the decodebin2 for some reason, print a warning but
continue adding the remaining pads.
2009-03-19 20:31:01 +01:00
Wim Taymans
20468a22c9 decodebin2: more cleanups and docs.
Add some more comments and use g_list_prepend().
2009-03-19 19:35:15 +01:00
Wim Taymans
17e7948325 decodebin2: refactoring and race fixes
Refactor some code so that we can take the right locks and in the right order.
Fixes quite a bit of races already.
2009-03-19 19:19:38 +01:00
Wim Taymans
2f39597919 playbin2: remove the group cond + cleanups
Remove the group GCond that we used for waiting for groups to finish because we
use pad blocking on the selectors and counters instead for waiting for the
groups to complete.

remove the obsolete about_to_finish variable set while emiting the
about-to-finish signal and fix some old comments.

We don't need to take the playbin lock when querying the uridecodebin.
2009-03-19 19:03:25 +01:00
Wim Taymans
563db0fdca decodebin2: add extra dynamic ref for demuxers
When we make a group connected to a demuxer, keep an extra dynamic refcount for
the group which is only decremented when no_more_pads or a multiqueue overrun is
detected. This way we avoid a race between exposing the group while more dynamic
refs are added from new pads.

Fixes #575588.
2009-03-17 19:09:02 +01:00
Wim Taymans
da6a544bdf playbin2: sync state of the sink correctly
Sync the state of the newly added chains to the state of the parent sink element
to avoid lost async-start messages. Fixes cdda:// async-done message storm.
2009-03-17 15:39:23 +01:00
Wim Taymans
a8579ffea0 playbin2: return NOT_LINKED for unselected streams
When streams are not selected in the selector, return NOT_LINKED so that
upstream elements can skip decoding. Only do this for audio and video pads
because for text streams the overhead is smaller and they could come from
external files.
2009-03-17 11:54:40 +01:00
Wim Taymans
5021c930ba playbin: set custom text sink properties
Set the custom sink async=FALSE to not make it participate in preroll because we
are dealing with sparse streams.
Try to set sync=TRUE on the custom text sink.
2009-03-17 11:51:58 +01:00
Wim Taymans
48f7f6b7c2 playbin2: don't try to set invalid stream numbers
Fix a problem with setting the stream numbers because we check for the wrong
range.
See #575239.
2009-03-16 16:42:18 +01:00
Wim Taymans
ba6d3b5aca playbin2: release the shutdown lock
Release the shutdown lock when we wait for other groups to complete or else we
have a deadlock when the other group completes and tries to grab the shutdown
lock.
Fixes #575550.
2009-03-16 16:16:30 +01:00
Tim-Philipp Müller
04a860c6f7 typefinding: make flac typefinder return lower probability for frame headers
The flac frame header typefinder overstates the likelihood of a match, leading
to false positives with e.g. aac streams and PDF files. Reduce probabilty
returned from LIKELY to POSSIBLE for the frame header matchin code.
Fixes #574939.
2009-03-15 19:57:36 +00:00
Tim-Philipp Müller
a622ff74b0 typefinding: improve image/bmp typefinder
Detect more variations and also bail out in more cases where the values
don't make sense. Furthermore, add width/height and bpp to the caps,
because we can.
2009-03-15 19:52:46 +00:00
Wim Taymans
777f8ab1bf playbin2: fix raw elements like cdda://
Fix a fixme with a one liner and make cd playback work again.
2009-03-12 18:27:25 +01:00
Wim Taymans
7849db42b8 playbin2: improve subtitle handling
Add property to playbin2 to configure a custom sink that receives the raw
subtitle buffers instead of using a textoverlay.
Improve the property finding code to make it more usable.
Use property find code to find async properties in custom sinks that are bins.
Improve text overlay code to gracefully handle missing elements.
2009-03-12 17:51:39 +01:00
Tim-Philipp Müller
4cbe4d2c72 typefinding: flac typefinder fixes
Use scan context for initial peek as well. Peek 6 bytes in the initial
peek rather than 5 bytes, to match the length of the memcmp we're doing
on that data later. Return immediately when we found caps from looking
at the beginning of the data - no point in continuing to scan the next
64kB for something matching a frame header.
2009-03-11 13:33:33 +00:00
Stefan Kost
e633c46e95 adder: log details in getcaps like in setcaps 2009-03-10 21:14:43 +02:00
Jonathan Matthew
db7ecda64f typefind: add photoshop typefind functions
Add photoshop typefind functions.
Fixes #574516.
2009-03-09 16:19:40 +01:00
Wim Taymans
72533ecccc decodebin2: only remove pads that were added
Flag pads that were added so that we can see if we need to remove them later or
not.
2009-03-09 15:46:21 +01:00
Mark Nauwelaerts
b7ea2a9105 Unblock blocked ghostpads when shutting down. Fixes #574293. 2009-03-09 13:32:21 +01:00
Edward Hervey
9acf7de5a4 typefind: Use the proper data pointer instead of poking random memory. 2009-03-09 09:08:00 +01:00
Michael Smith
e9e9d82fbe decodebin2: don't stay connected to notify::caps after negotiation
Disconnect the notify::caps signal in our callback (it'll be re-added
if we're not, in fact, finished getting complete caps). Ensures that
caps changes mid-stream (e.g. from an mp3 that changes from
stereo->mono mid-file) don't cause us to try to add a new pad.
2009-03-05 15:44:17 -08:00
Stefan Kost
79771eaba7 adder: add variants for unsigned to fix warnings for unneeded check
For unsigned int out+in can't be < 0.
2009-03-05 12:27:16 +02:00
Stefan Kost
2723c7e4f3 subparse: use the right variable in debug log, encoding is not yet initialized 2009-03-05 10:58:12 +02:00
Stefan Kost
388fa77c11 audioresample: add missing break in event handling, remove dead code 2009-03-05 10:39:33 +02:00
LRN
db596d27a2 subparse: Convert regex code to GRegex code
Fixes: #572993.  Patch author prefers to use an alias, contact
ds if you actually need a real name.

Signed-off-by: David Schleef <ds@schleef.org>
2009-03-02 11:47:39 -08:00
Stefan Kost
46833b9bc7 subparse: don't leak line, if flushing 2009-02-26 18:01:05 +02:00
Stefan Kost
60847e48d7 ffmpegcolorspace: remove unused code/variables 2009-02-26 18:01:04 +02:00
Stefan Kost
5e6447c0ac docs: fix random text after since: tag. Also fix class name to make the docs actual appear. 2009-02-26 10:10:00 +02:00
Stefan Kost
a6ea8280a2 docs: playbin2 has no stream-info 2009-02-26 10:09:59 +02:00
Peter Kjellerstedt
a038a8d46d rtsp, multifdsink: Unify the use of union gst_sockaddr. 2009-02-25 15:45:50 +01:00
Wim Taymans
f5a3387bdb playbin: use flushing pads instead of fakesink
Use the flushing pads on playsink to terminate on shutdown instead of plugging
fakesinks. this should be a little cheaper.
2009-02-25 12:48:53 +01:00
Wim Taymans
747841e97c playsink: Add FLUSHING pad type
Make it possible to request a flushing pad from the playsink. We can eventually
use these flushing pads to quickly terminate the dataflow when we are shutting
down.
2009-02-25 12:48:53 +01:00
Wim Taymans
dbfc80cd6c Release the group lock when setting states
Release the group lock while we perform the state changes on the uridecodebins
because that might trigger callbacks that we need to handle with the group lock
taken. Avoids a possible deadly embrace in some id3/flac files.
Fixes #567396.
2009-02-25 10:08:29 +01:00
Wim Taymans
0b2238b70b Combine finding and creating groups
Combine the search for the current group and optionally creating one into one
function so that we can avoid taking the lock multiple times.
2009-02-25 10:05:38 +01:00
Edward Hervey
2968cc8710 Playbin2: Don't leave unused parameters in debug statements.
Fixes build on macosx
2009-02-25 08:22:00 +01:00
Wim Taymans
b725e1d2c6 Add some G_UNLIKELY because we can
Add a G_UNLIKELY when checking the shutdown variable.
2009-02-24 18:44:54 +01:00
Jan Schmidt
fff6909c1b multifdsink: Fix strict aliasing error using a union 2009-02-24 17:03:08 +00:00
Sebastian Dröge
77a56d5975 ffmpegcolorspace: Add conversion from/to YVYU colorspace
Fixes bug #572872.
2009-02-24 14:06:38 +01:00
Jonas Danielsson
0842dd1c6f ffmpegcolorspace: Add direct UYVY->GRAY8 conversion
The conversion from UYVY to RGB24 and then to GRAY8
is quite slow. Fixes bug #569655.
2009-02-24 13:42:01 +01:00
Mark Nauwelaerts
d24e75f9fa playbin2: fix deadlock when shutting down. Fixes #572577. 2009-02-24 13:30:07 +01:00
Mark Nauwelaerts
bbd66c6baf playbin2/playsink: Set audiotee to PAUSED state in all cases. Fixes #565105. 2009-02-24 10:46:35 +01:00
Sebastian Dröge
6c28744f76 audioresample: Add locking to protect the resampling context
When setting the quality/filter-length while PLAYING the
resampling context will be destroyed and created again in
some cases, which will cause crashes in the transform function
if it's called at that time.
2009-02-15 07:30:17 +01:00
Sebastian Dröge
c080bfae6d ffmpegcolorspace/videotestsrc: Use v308 instead of V308 2009-02-13 10:10:25 +01:00
Sebastian Dröge
65c322edf2 ffmpegcolorspace: Add support for packed 4:4:4 YUV (format=V308)
Only conversions from/to are implemented, which
gives (indirect) support for all possible conversions.

Partially fixes bug #571147.
2009-02-12 19:09:40 +01:00
Sebastian Dröge
79d0fff231 videotestsrc: Add support for packed 4:4:4 YUV (format=V308)
Partially fixes bug #571147.
2009-02-12 19:09:40 +01:00
Michael Smith
4713bb3abc Revert "Remove pad-removed handlers after setting the decodebins to NULL."
This reverts commit b36d8f3e11.

This brought back some deadlocks. A small leak is better, for now. Need to
figure out a way to fix the leak properly.
2009-02-10 20:38:58 -08:00
Michael Smith
41314315c7 playbin2: Fix segfault on notify after group change.
If our group has been switched, then we get a selector active-pad
notification, we don't need to notify.
2009-02-10 17:20:12 -08:00
Michael Smith
a264efc627 playbin2: Look for volume/mute properties recursively in audio element.
Rather than only checking for volume property on the audio sink
directly, recursively look for it on sinks within it (if it's a bin).
Allows use of sink-as-volume-control where the application has supplied
an audio-sink bin that includes a real audio sink internally.
2009-02-10 17:20:12 -08:00
Sebastian Dröge
5fc20b9ec5 videotestsrc: Add support for Y444 (planar 4:4:4 YUV)
Partially fixes bug #571147.
2009-02-10 17:45:59 +01:00
Stefan Kost
f010a38b0d playbin2: implement GST_PLAY_FLAG_NATIVE_{AUDIO,VIDEO}
The flags where present but actually not been taken into account.
2009-02-04 13:56:14 +02:00
Stefan Kost
c6ab453eed audioresample: Add a proper deprecation comment and also drop G_PARAM_CONSTRUCT.
The comment will ensure that is is marked properly in the docs and the
GParamSpecflag was causing a duplicated initialisation of the same value.
2009-02-04 13:56:13 +02:00
Stefan Kost
b08c0a9003 audioresample: Only pull in liboil if its actualy used.
Liboil still has quite significant startup overhead especialy on embedded
platforms. In audioresample it was only used for the profiling timer.
2009-02-04 10:31:21 +02:00
Stefan Kost
080493ccff typefind: Make the flac check more tight to not mistace some aac files for flac. Fixes #570356.
Add comments about the flac format. Tighten the check to not allow values that
refer to headers.
2009-02-03 15:28:50 +02:00
Stefan Kost
0ea2afee42 Allow to configure the resampler function for integer to skip the benchmarking. Fix releasing the intger resampler in benchmark. 2009-02-02 15:45:44 +02:00
Wim Taymans
9996aab207 Fix documentation for autoplug-select
fix the documentation strings for the autoplug-select signal.
Fixes #570142.
2009-02-02 12:54:31 +01:00
Michael Smith
b36d8f3e11 Remove pad-removed handlers after setting the decodebins to NULL.
They do needed cleanup; without this we leak selector requestpads.
2009-01-30 18:30:10 -08:00
Michael Smith
61e81ada2c Unref selector request pad even if we no longer have a selector.
During destruction, we won't have a selector any more, but we still need
to unref the pad to avoid leaking it.
2009-01-30 18:30:10 -08:00
Michael Smith
c799f3f77f Unref source in playbin2's finalize method 2009-01-30 18:30:10 -08:00
Michael Smith
b6cbe7e331 Fix more leaks of pads and elements in gstplaysink.
Don't keep extra references to volume and mute elements; we don't need
to do so.
Ensure we unref pads that we have references to, and release request
pads.
2009-01-30 18:30:10 -08:00
Michael Smith
c34f444174 Avoid leaking all playsinks. Fix some internal leaks.
Playsink was holding references to itself. Don't do that, it's not cool.
Also, free all chains in dispose.
2009-01-30 18:30:10 -08:00
Michael Smith
906502b9bb Unref peer request pad after releasing it, since we hold a reference. 2009-01-30 18:30:10 -08:00
Michael Smith
af8d3c51f0 Fix caps leak in playbin2. 2009-01-30 18:30:10 -08:00
Michael Smith
ef1fa84575 Unref active pad from selector when finding active stream. 2009-01-30 18:30:10 -08:00
Michael Smith
f7abf8ed94 Free uris when finalizing playbin2 instance. 2009-01-30 18:30:10 -08:00
Michael Smith
a2b0229058 Unref pads when iterating over them in analyse_source.
Fixes leak of source's srcpad when using uridecodebin.
2009-01-30 18:30:09 -08:00
Jan Schmidt
5337bc03be Fix compilation warning on Forte 2009-01-30 17:58:15 +00:00
Jan Schmidt
6b1e08f277 Don't do void pointer arithmetic. 2009-01-30 17:16:39 +00:00
Michael Smith
81cc88326f Ensure we have sufficient data when using data scan contexts.
Fixes crashes typefinding things that look like they might contain AAC
data (but probably aren't actually AAC).
2009-01-26 18:02:00 -08:00
Sebastian Dröge
5dfcb63252 Rename files and types from speexresample to audioresample
Rename files and types from speexresample to audioresample
to finish the move and to prevent any confusion.
2009-01-23 12:33:41 +01:00
Wim Taymans
cc8b9ae5e8 Add typefind function for gsm
Because core now supports typefindfactories without a typefind function we can
register a factory fo GSM that will --if all else fails-- assume the file is a
GSM file based on the registered extension.
Fixes #566661.
2009-01-23 11:40:26 +01:00
Wim Taymans
8dd3c2d543 Use more performant link function
We can use gst_element_link_pads() instead of the more generic
gst_element_link() function because we know the pads. This saves some cycles
because the more generic function needs to search for possible compatible caps
etc.
2009-01-23 11:37:45 +01:00
Benjamin Gaignard
336e1346e4 Add typefinder for Mobile XMF. Fixes bug #568707. 2009-01-23 10:19:27 +01:00
Jan Schmidt
c42c6d6da0 Fix use-after-unref problem noticed by Josep Torra Valles, and run
gst-indent
2009-01-22 22:09:47 +00:00
Wim Taymans
397c00ac33 gst/playback/gstplaybin2.c: Provide the right arguments to a debug line.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (groups_set_locked_state):
Provide the right arguments to a debug line.
2009-01-13 14:47:19 +00:00
Wim Taymans
1e5f963882 gst/playback/gstplaybin2.c: Fix some comments and docs.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_set_uri), (gst_play_bin_set_suburi),
(no_more_pads_cb), (drained_cb), (group_set_locked_state_unlocked),
(activate_group), (deactivate_group), (groups_set_locked_state),
(gst_play_bin_change_state):
Fix some comments and docs.
Post an error message when we fail to link the selector to the sink.
Remove pushing of EOS, this seems unneeded.
Lock the state of deactivated groups so that they don't accidentally
reactivate when the playbin2 state changes.
Reuse uridecodebins.
Unlock and relock state of groups when playbin goes to NULL.
Fixes #566654.
Fixes #566341.
* gst/playback/gsturidecodebin.c: (pad_removed_cb), (type_found):
Only do something in the pad removed callback when we are dealing with
our sourcepads because the sinkpads don't have a ghostpad.
2009-01-07 13:52:14 +00:00
Wim Taymans
8632fc5545 gst/playback/gstplaybin2.c: Disconnect signal handlers before destroying a previous decodebin so that we don't end up...
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (notify_source_cb), (activate_group):
Disconnect signal handlers before destroying a previous decodebin so
that we don't end up causing deadlocks. Fixes #566586.
2009-01-05 12:18:52 +00:00
Wim Taymans
c3ec18af97 gst/audiotestsrc/gstaudiotestsrc.*: Add property to control pull/push based scheduling.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init), (gst_audio_test_src_init),
(gst_audio_test_src_check_get_range),
(gst_audio_test_src_set_property),
(gst_audio_test_src_get_property):
* gst/audiotestsrc/gstaudiotestsrc.h:
Add property to control pull/push based scheduling.
2009-01-05 10:59:35 +00:00
Wim Taymans
dba6f1f28c gst/playback/gstplaybin2.c: Add some debug info.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (no_more_pads_cb):
Add some debug info.
* gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
(gst_play_sink_reconfigure), (gst_play_sink_request_pad),
(gst_play_sink_release_pad):
Add some more debug info.
Reconfigure the audio chain when we switch between raw and encoded audio
in gapless playback.
2008-12-20 12:48:43 +00:00
Stefan Kost
5a30245c38 gst/adder/: Cleanup variable names to make the adder-loop easier to understand.
Original commit message from CVS:
* gst/adder/Makefile.am:
* gst/adder/gstadder.c:
Cleanup variable names to make the adder-loop easier to understand.
Also try to use liboil to spee it up, but ifdef it out as it does not
make any change for me (Intel pentim M (sse,sse2) please try on other
systems).
2008-12-17 08:51:34 +00:00
Wim Taymans
0a6d8f01ef Add minimal docs to make the remaining tcp elements show up.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* gst/tcp/gsttcpclientsink.c:
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpserversrc.c:
Add minimal docs to make the remaining tcp elements show up.
Fixes #564139.
2008-12-16 20:16:17 +00:00
Stefan Kost
552b5f5fcd gst/playback/: XRef to GstXOverlay.
Original commit message from CVS:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
XRef to GstXOverlay.
2008-12-12 13:06:48 +00:00
Edward Hervey
89413e390c gst/playback/gsturidecodebin.c: Free the factory array when finalizing.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_finalize):
Free the factory array when finalizing.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
Use a GstStaticPadTemplate since the src pad caps are fixed.
2008-12-12 10:54:45 +00:00
Edward Hervey
7a83664099 gst/subparse/samiparse.c: Some versions of libxml seem to be very picky as to strict formatting of the input and neve...
Original commit message from CVS:
* gst/subparse/samiparse.c: (sami_context_push_state),
(sami_context_pop_state), (start_sami_element), (end_sami_element):
Some versions of libxml seem to be very picky as to strict formatting
of the input and never 'close' the final </body> tag.
In order to fix that bad behaviour, we trigger the flushing of
remaining data on both </body> and </sami>.
Fixes #557365
2008-12-11 15:49:12 +00:00
Guillaume Emont
d477a37e7e gst/typefind/gsttypefindfunctions.c: Add typefinders for MS Word files and OS X .DS_Store files to prevent them to be...
Original commit message from CVS:
Patch by: Guillaume Emont <guillaume at fluendo dot com>
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinders for MS Word files and OS X .DS_Store files to
prevent them to be recognized as MPEG files. Fixes bug #564098.
2008-12-11 12:32:03 +00:00
Wim Taymans
08736ec1ae gst/playback/gstplaysink.c: Add some more debug info.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gen_audio_chain),
(gst_play_sink_reconfigure):
Add some more debug info.
Fix linking of just an encoded sink.
Handle failure to create a sink chain more gracefully than crashing.
2008-12-11 11:04:14 +00:00
Wim Taymans
172e478fd1 gst/playback/gstplaybin2.c: Error out with a missing-plugin error when the input-selector was not found.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (pad_added_cb):
Error out with a missing-plugin error when the input-selector was not
found.
* gst/playback/gstplaysink.c: (gst_play_sink_reconfigure):
Indentation.
2008-12-10 18:43:32 +00:00
Wim Taymans
1bfdc87815 gst/playback/gstplaysink.c: Use G_DEFINE_TYPE.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_dispose), (gst_play_sink_finalize), (try_element),
(gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
(gst_play_sink_send_event), (gst_play_sink_change_state):
Use G_DEFINE_TYPE.
Try to set the selected sink to READY before using it. This will allow
for detection of incompatible formats sooner.
Don't cause a fatal error when conversion elements are missing but post
a missing-element message and a warning instead because things might
still link and run fine.
Simplyfy the construction of audio and video sink chains.
2008-12-10 17:39:32 +00:00
Luis Menina
a4493595a6 gst/: Include glib.h instead of a specific GLib header. Including single
Original commit message from CVS:
Patch by: Luis Menina <liberforce at freeside dot fr>
* gst-libs/gst/floatcast/floatcast.h:
* gst/typefind/gsttypefindfunctions.c:
Include glib.h instead of a specific GLib header. Including single
GLib headers is deprecated. Fixes bug #563904.
2008-12-10 08:19:13 +00:00
Wim Taymans
cf0efcbff9 gst/volume/gstvolume.c: Use new basetransform vmethod to reconfigure the dynamic properties and any pending volume/mu...
Original commit message from CVS:
* gst/volume/gstvolume.c: (gst_volume_class_init),
(volume_before_transform), (volume_transform_ip):
Use new basetransform vmethod to reconfigure the dynamic properties and
any pending volume/mute changes. Fixes #563508.
2008-12-08 18:44:22 +00:00
Stefan Kost
16e2bccc61 gst/playback/: Add basic docs to decodebin and link to decodebin from decodebin2.
Original commit message from CVS:
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c:
Add basic docs to decodebin and link to decodebin from decodebin2.
2008-12-08 15:25:13 +00:00
Christian Schaller
1048c62b2c fix build
Original commit message from CVS:
fix build
2008-11-28 13:30:36 +00:00
Sebastian Dröge
c514656e3a Update documentation of speexresample for the new element name.
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-videorate.xml:
* gst/speexresample/gstspeexresample.c:
Update documentation of speexresample for the new element name.
2008-11-28 09:44:12 +00:00
Sebastian Dröge
f2eebf3fd3 gst/speexresample/README: Update README with the latest diff between the Speex resampler and our copy.
Original commit message from CVS:
* gst/speexresample/README:
Update README with the latest diff between the Speex resampler
and our copy.
2008-11-28 09:04:46 +00:00
Sebastian Dröge
86144acc9a gst/speexresample/gstspeexresample.c: Update the debug category from speex_resample to audioresample.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c: (plugin_init):
Update the debug category from speex_resample to audioresample.
2008-11-28 08:37:50 +00:00
Sebastian Dröge
7afac6e23a Remove audioresample files.
Original commit message from CVS:
* gst/audioresample/Makefile.am:
* gst/audioresample/buffer.c:
* gst/audioresample/buffer.h:
* gst/audioresample/debug.c:
* gst/audioresample/debug.h:
* gst/audioresample/functable.c:
* gst/audioresample/functable.h:
* gst/audioresample/gstaudioresample.c:
* gst/audioresample/gstaudioresample.h:
* gst/audioresample/resample.c:
* gst/audioresample/resample.h:
* gst/audioresample/resample_chunk.c:
* gst/audioresample/resample_functable.c:
* gst/audioresample/resample_ref.c:
* tests/check/elements/audioresample.c:
Remove audioresample files.
2008-11-27 19:13:59 +00:00
Sebastian Dröge
153406eef5 Rename the moved speexresample to audioresample, integrate into the build system and remove the old audioresample fro...
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* gst/speexresample/gstspeexresample.c: (plugin_init):
* gst/speexresample/Makefile.am:
* tests/check/Makefile.am:
* tests/check/elements/speexresample.c: (setup_speexresample),
(GST_START_TEST), (test_pipeline):
Rename the moved speexresample to audioresample, integrate into the
build system and remove the old audioresample from the build system.
Fixes bug #558124, #385061, #346218, #116051.
2008-11-27 16:57:09 +00:00
Wim Taymans
db785a1f52 gst/playback/gstplaybin2.c: Fix buffer-duration property.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (activate_group):
Fix buffer-duration property.
2008-11-25 11:00:55 +00:00
Michael Smith
aec03a4535 gst/playback/gstplaybin2.c: Add notification of current stream. Add ability to configure buffer sizes.
Original commit message from CVS:
* gst/playback/gstplaybin2.c:
Add notification of current stream. Add ability to configure buffer
sizes.
* gst/playback/gsturidecodebin.c:
Add ability to configure buffer sizes for streaming mode.
Bug #561734.
2008-11-24 20:25:24 +00:00
Jon Trowbridge
0bdeaae59e gst/volume/gstvolume.*: Cleanup volume, define and use default values.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_update_volume), (gst_volume_set_volume),
(gst_volume_get_volume), (gst_volume_set_mute),
(gst_volume_class_init), (gst_volume_init),
(volume_process_double), (volume_process_float),
(volume_process_int32), (volume_process_int32_clamp),
(volume_process_int24), (volume_process_int24_clamp),
(volume_process_int16), (volume_process_int16_clamp),
(volume_process_int8), (volume_process_int8_clamp), (volume_setup),
(volume_transform_ip), (volume_set_property),
(volume_get_property):
* gst/volume/gstvolume.h:
Cleanup volume, define and use default values.
Recalculate new volume and mute setup before processing. Fixes #561789.
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
Add controller unit test. Patch by: Jonathan Matthew
Fix bogus test that messed with basetransform's internal state.
2008-11-24 12:03:11 +00:00
Wim Taymans
9d0c9fe49b gst/videorate/gstvideorate.c: Add jpeg and png image media types to the caps. Fixes #561436.
Original commit message from CVS:
* gst/videorate/gstvideorate.c:
Add jpeg and png image media types to the caps. Fixes #561436.
2008-11-22 14:44:26 +00:00
Wim Taymans
096efe2fe9 gst/playback/gstplaysink.c: Don't post an error when we can't configure the volume but post a warning instead. Fixes ...
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gen_audio_chain):
Don't post an error when we can't configure the volume but post a
warning instead. Fixes #561780.
2008-11-22 14:31:43 +00:00
Jonathan Rosser
6026260635 gst/videotestsrc/: Add a zone plate pattern generator based on BBC R&D Report 1978/23 (yeah *that* 1978). Try 'video...
Original commit message from CVS:
Patch by: Jonathan Rosser <jonathan.rosser@rd.bbc.co.uk>
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add a zone plate pattern generator based on BBC R&D Report
1978/23 (yeah *that* 1978).  Try 'videotestsrc pattern=zone-plate
kx2=20 ky2=20 kt=1'.
2008-11-21 20:32:56 +00:00
Sebastian Dröge
d36adc543b gst/speexresample/gstspeexresample.c: Add a "filter-length" property that maps to the quality values for compatibilty...
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_class_init), (gst_speex_resample_set_property),
(gst_speex_resample_get_property):
Add a "filter-length" property that maps to the quality values
for compatibilty with audioresample.
2008-11-21 15:45:15 +00:00
Michael Smith
5830b42dc5 gst/playback/gstdecodebin2.c: Fix random fat-fingering making this not compile.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
Fix random fat-fingering making this not compile.
2008-11-21 00:04:48 +00:00
Michael Smith
277e46886c gst/playback/gstdecodebin2.c: If the top-level type of the stream is plain text, don't try to decode it, matching beh...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
If the top-level type of the stream is plain text, don't try to decode
it, matching behaviour of decodebin.
* gst/playback/gstplaysink.c:
If we fail to generate a text chain (e.g. due to missing optional
plugins), don't crash.
2008-11-20 22:11:38 +00:00
David Schleef
b97e582c57 gst/videotestsrc/: Add "colorspec" property, specifying whether to generate BT.601 or BT.709 video. This only affect...
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add "colorspec" property, specifying whether to generate BT.601
or BT.709 video.  This only affects YCbCr values, not RGB, since
if you're generating a 709 test pattern, presumably you want
709 RGB primaries, not 601.  Also add "smpte75" pattern, which
uses 75% colors instead of 100%, since this is often more useful
for testing (and also follows the SMPTE EG-1 guideline).
2008-11-19 00:24:44 +00:00
Alessandro Decina
f39b66e30d gst/playback/gstdecodebin.c: Add a "sink-caps" property to decodebin like it's done for decodebin2.
Original commit message from CVS:
* gst/playback/gstdecodebin.c:
Add a "sink-caps" property to decodebin like it's done for decodebin2.
Fixes #560380.
2008-11-18 18:08:42 +00:00
Jan Schmidt
ca161e799f gst/audioresample/gstaudioresample.c: Guard against a NULL dereference I somehow encountered - with a FLUSH_STOP arri...
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
Guard against a NULL dereference I somehow encountered -
with a FLUSH_STOP arriving either before basetransform _start(),
or after _stop().
* gst/typefind/gsttypefindfunctions.c:
Make sure we never jump backwards when typefinding corrupt mov files.
2008-11-14 21:44:33 +00:00
Mark Nauwelaerts
23f10c5403 gst/typefind/gsttypefindfunctions.c: Improve typefinding of ISO JPEG2000 mime types.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (jp2_type_find),
(plugin_init):
Improve typefinding of ISO JPEG2000 mime types.
2008-11-13 21:11:13 +00:00