Commit graph

1972 commits

Author SHA1 Message Date
Wim Taymans
c6f6282fde playbin2: handle custom audiosinks differently
Keep track of the autoplugged custom sinks and configure them in the playsink
element when we have collected all streams.
Also make sure that we only select one custom sink.
When unreffing the internal sink, we don't need to change the state to NULL.
2009-05-12 10:37:45 +02:00
Wim Taymans
0b372dd371 playbin2: unify custom sink get/set functions
Use one function to set/get all of the different sink types.
cleanup up the subpicture chain too.
Allow setting a custom subpicture sink.
2009-05-12 10:36:25 +02:00
Arnout Vandecappelle
192a34af40 typefindfunctions: made mp3_type_find less aggressive
mp3_type_find could suggest already when only a single valid header
was found, if it ran out of data before the end of the next frame.
Therefore, ignore the last found frame if it was incomplete.
Fixes bug #579692.
2009-05-12 09:03:22 +02:00
Wim Taymans
691a52975e playbin2: fix resume after pause
Don't ignore the state change of the children, they might be doing an ASYNC
state change.
2009-05-08 13:11:01 +02:00
Wim Taymans
7c61249ceb multifdsink: fix signature of the add-full signal
The second parameter is a GstSyncMethod enum, not a boolean.
2009-05-07 23:14:56 +02:00
Wim Taymans
52da312fa5 playsink: initialize variable too 2009-05-07 15:19:05 +02:00
Wim Taymans
c05541c195 playbin2: make playsink go ASYNC to PAUSED
Make playsink go async to the PAUSED state instead of relying on uridecodebin
for async behaviour in playbin. This solves some problems (mainly with DVD)
where the pipeline would go to PLAYING before preroll completed, failing to
select the audiosink clock.
Fixes #581727
2009-05-07 14:28:30 +02:00
Jan Schmidt
02a7b31f0e audioresample: Fix buffer size transformations
When calculating the input/output buffer sizes in the transform_size function,
take the number of channels into account, so we don't end up calculating
a buffer size that only contains a partial number of audio frames.

Also, when going from output size to input size, round down rather than
up, so as to calculate the minimum number of samples that *might* yield
a buffer of the intended destination size.

Fixes: #580470 and #580952
2009-05-01 16:47:53 +01:00
Wim Taymans
915b3d139d videorate: clear discont on duplicated buffers
When videorate duplicates a buffer with a DISCONT flag, it copies the discont on
the first pushed buffer but fails to clear it for subsequent buffers. This
causes theoraenc!oggmux and possibly other elements to consider this a discont
stream.

Fix videorate to produce discont as the first buffer and after a flushing seek.

Fixes #580271.
2009-04-28 16:45:07 +02:00
Edward Hervey
71a372c847 decodebin2: Don't reduce max-size-time of exposed groups. Fixes #579912
The 2s limit is way too small for a lot of files (which have an interleave
in time of between 3 and 5s). Instead, leave it to the initial 5s value
and reduce the other limits (allowing us to stay memory-efficient).
2009-04-23 11:54:55 +02:00
René Stadler
22a69b49a3 audioresample: Fix unused variable in compilation with --disable-gst-debug
Fixes: #579668
2009-04-21 22:18:02 +01:00
Wim Taymans
8f8b638d31 playbin: only use raw_decoding_mode when it's true
First check the pad caps if they are raw before setting the raw_decoding_mode to
TRUE. Fixes playback of transport streams and other streams that require large
queues.
Fixes #579734
2009-04-21 20:57:34 +02:00
Jan Urbanski
63108730a5 multifdsink: add property to resend streamheaders
Adds a new property in multifdsink, resend-streamheader.

If this property is false, the multifdsink will not send the streamheader if
there's already one set for a particular client.

There are some formats in which every stream needs to start with a certain
blob, but you can't inject this blob at leisure. If the producer wants to
change the blob in question and sets in as the streamheader on the outgoing
buffers' caps, new clients of multifdsink will get the new streamheader, but
old clients will break, because they'll see the blob in the middle of the
stream.

The property is true by default, so existing code will not see any difference.

Fixes #578118.
2009-04-14 17:04:06 +02:00
Wim Taymans
19d30b90d4 multifdsink: add property to handle client write
Add a property to disable listening to client writes. This property is usefull
when other code will deal with reading from the client socket.

API: GstMultiFdSink::handle-read property
2009-04-14 16:53:33 +02:00
Wim Taymans
5eed96dc06 playbin2: clear the target
Clear the target of our ghostpads before we remove the pad from the element.
This to make sure that the internal pad is not left linked to whatever pad we
were ghosted to. This should only be a problem when we leak the ghostpads.

Also release our subpicture pads.

Fixes #577288.
2009-04-14 13:55:52 +02:00
Wim Taymans
4265511b70 decodebin2: fix up the debugs and warnings
Use _OBJECT variants because we can. Go over some log statements and put them in
the right category.
Fixes #567740.
2009-04-14 11:34:49 +02:00
Luca Ognibene
1beabc48e8 multifdsink: fix error in sync-method
Multifdsink did not handle sync-method=latest-keyframe correctly when the
soft-limit is set to -1 (unlimited).
Fixes #578583.
2009-04-12 22:26:33 +02:00
Wim Taymans
1a557e60ea playbin2: fix refcounting of visualisations
See #577794.
2009-04-10 13:42:56 +02:00
Wim Taymans
33ef15fad6 playsink: fix refcounting of custom elements
Sink the custom sinks, let other elements we create be sunken by the bin we add
them to.
Fixes #577794.
2009-04-10 13:27:41 +02:00
Wim Taymans
f25e4e4743 playbin2: handle missing input-selector
Gracefully degrade and disable stream selection when input-selector is
missing.
2009-04-10 12:26:16 +02:00
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
Wim Taymans
2773fe8f67 gst/playback/gstplaybin2.c: don't try to unlink the selector sinkpad when we don't have it yet. This can happen if an...
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (deactivate_group):
don't try to unlink the selector sinkpad when we don't have it yet. This
can happen if an error occured before the group was complete.
2008-11-13 17:27:37 +00:00
Wim Taymans
79199d884f gst/playback/gstplaybin2.c: Catch state change errors and stop from the uridecodebin elements instead of trying to co...
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (activate_group):
Catch state change errors and stop from the uridecodebin elements
instead of trying to continue in vain.
2008-11-11 15:52:14 +00:00
Thomas Vander Stichele
9b6f3ad0c8 gst/adder/gstadder.c: Change author string after seeing output of gst-inspector.
Original commit message from CVS:
* gst/adder/gstadder.c:
Change author string after seeing output of gst-inspector.
2008-11-10 13:55:08 +00:00
Wim Taymans
9045e0428e gst/playback/gstplaysink.c: Don't try to do crazy things when we only have a text pad without a video pad. Fixes #559...
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_reconfigure):
Don't try to do crazy things when we only have a text pad without a
video pad. Fixes #559478.
2008-11-10 10:33:26 +00:00
Wim Taymans
8e07d4ec69 gst/volume/gstvolume.*: Keep negotiated state in a separate variable.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_update_real_volume),
(gst_volume_set_volume), (gst_volume_get_volume),
(gst_volume_set_mute), (gst_volume_init), (volume_setup),
(volume_transform_ip), (volume_update_mute),
(volume_update_volume), (volume_get_property):
* gst/volume/gstvolume.h:
Keep negotiated state in a separate variable.
Protect the volume and mute properties with the object lock.
Protect modifying the transform with the transform lock.
2008-11-05 19:18:25 +00:00
Wim Taymans
d9ae8db094 gst/ffmpegcolorspace/gstffmpegcodecmap.c: Only convert caps to string when debug is enabled.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps):
Only convert caps to string when debug is enabled.
2008-11-05 12:20:21 +00:00
Stefan Kost
b9d45d9434 Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:18 +00:00
Sebastian Dröge
35acee194f gst/speexresample/gstspeexresample.c: Add TODO at the top of the file for enabling SSE/ARM specific optimizations and...
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_convert_buffer):
Add TODO at the top of the file for enabling SSE/ARM specific
optimizations and choosing the fastest implementation at runtime.
Add g_assert_not_reached() at two places that should really never
be reached.
2008-11-03 08:55:49 +00:00
Sebastian Dröge
9c88e06594 gst/speexresample/gstspeexresample.c: Fix format string and arguments.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_check_discont):
Fix format string and arguments.
* gst/speexresample/resample_sse.h:
Add missing file.
2008-11-02 09:19:24 +00:00
Sebastian Dröge
fa613940ef gst/speexresample/: Add missing headers to Makefile.am.
Original commit message from CVS:
* gst/speexresample/Makefile.am:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_base_init), (gst_speex_resample_get_funcs),
(gst_speex_resample_convert_buffer), (_benchmark_int_float),
(_benchmark_int_int), (_benchmark_integer_resampling),
(plugin_init):
* gst/speexresample/gstspeexresample.h:
* gst/speexresample/resample.c:
* gst/speexresample/speex_resampler_double.c:
* gst/speexresample/speex_resampler_float.c:
* gst/speexresample/speex_resampler_int.c:
* gst/speexresample/speex_resampler_wrapper.h:
Add missing headers to Makefile.am.
Update copyright, years and my mail address.
Benchmark the integer resampling implementation against the
float implementation and use the faster one for 8/16 bit integer
input. On most recent systems the floating point version is faster.
2008-11-01 19:38:36 +00:00
Sebastian Dröge
35a5ad819d gst/speexresample/gstspeexresample.c: The length for the buffer conversion function is the number of audio frames, i....
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_convert_buffer):
The length for the buffer conversion function is the number of
audio frames, i.e. we need to multiply it by the number of channels
to get the number of values. Also spotted by the unit test after
running in valgrind.
2008-10-30 14:55:43 +00:00
Sebastian Dröge
b2cbf8f91d tests/check/elements/speexresample.c: Add pipeline unit tests for testing all supported formats with up/downsampling ...
Original commit message from CVS:
* tests/check/elements/speexresample.c: (element_message_cb),
(eos_message_cb), (test_pipeline), (GST_START_TEST),
(speexresample_suite):
Add pipeline unit tests for testing all supported formats with
up/downsampling and different in/outrates.
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_process):
* gst/speexresample/speex_resampler_wrapper.h:
Fix bugs identified by the testsuite.
2008-10-30 14:46:31 +00:00
Sebastian Dröge
4681a87cce gst/speexresample/: Add support for int8, int24 and int32 input by converting internally to/from int16 or double.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_stop),
(gst_speex_resample_get_funcs),
(gst_speex_resample_transform_size),
(gst_speex_resample_convert_buffer),
(gst_speex_resample_push_drain), (gst_speex_resample_process):
* gst/speexresample/gstspeexresample.h:
* gst/speexresample/speex_resampler_wrapper.h:
Add support for int8, int24 and int32 input by converting internally
to/from int16 or double.
2008-10-30 13:44:41 +00:00
Sebastian Dröge
d80b5c4aae Add support for double samples as input and refactor the usage of the different compilation flavors of the speex resa...
Original commit message from CVS:
* gst/speexresample/Makefile.am:
* gst/speexresample/arch.h:
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_stop),
(gst_speex_resample_get_unit_size), (gst_speex_resample_get_funcs),
(gst_speex_resample_init_state), (gst_speex_resample_update_state),
(gst_speex_resample_reset_state), (gst_speex_resample_parse_caps),
(_gcd), (gst_speex_resample_transform_size),
(gst_speex_resample_set_caps), (gst_speex_resample_push_drain),
(gst_speex_resample_process), (gst_speex_resample_transform),
(gst_speex_resample_query), (gst_speex_resample_set_property):
* gst/speexresample/gstspeexresample.h:
* gst/speexresample/resample.c:
* gst/speexresample/speex_resampler.h:
* gst/speexresample/speex_resampler_double.c:
* gst/speexresample/speex_resampler_wrapper.h:
* tests/check/elements/speexresample.c: (setup_speexresample),
(test_perfect_stream_instance), (GST_START_TEST),
(test_discont_stream_instance):
Add support for double samples as input and refactor the usage
of the different compilation flavors of the speex resampler.
2008-10-30 12:43:44 +00:00
Stefan Kost
087676f09b gst/audioresample/gstaudioresample.c: Return the result of parent_class->event().
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
Return the result of parent_class->event().
2008-10-30 11:43:12 +00:00
Sebastian Dröge
f5b4fa17ff gst/speexresample/gstspeexresample.*: Rewrite timestamp tracking to make it more robust and guarantee a continous str...
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_start),
(gst_speex_resample_get_unit_size),
(gst_speex_resample_push_drain), (gst_speex_resample_event),
(gst_speex_resample_check_discont), (gst_speex_resample_process),
(gst_speex_resample_transform):
* gst/speexresample/gstspeexresample.h:
Rewrite timestamp tracking to make it more robust and guarantee
a continous stream.
* tests/check/Makefile.am:
* tests/check/elements/speexresample.c: (setup_speexresample),
(cleanup_speexresample), (fail_unless_perfect_stream),
(test_perfect_stream_instance), (GST_START_TEST),
(test_discont_stream_instance), (live_switch_alloc_only_48000),
(live_switch_get_sink_caps), (live_switch_push),
(speexresample_suite):
Add unit tests for speexresample based on the audioresample unit tests.
2008-10-29 12:11:20 +00:00
Sebastian Dröge
305b2f3d14 gst/speexresample/gstspeexresample.*: Some random cleanup, add G_LIKELY and friends, use GST_DEBUG_OBJECT instead of ...
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_get_unit_size),
(gst_speex_resample_fixate_caps), (gst_speex_resample_init_state),
(gst_speex_resample_update_state), (gst_speex_resample_parse_caps),
(gst_speex_resample_transform_size), (gst_speex_resample_set_caps),
(gst_speex_resample_push_drain), (gst_speex_resample_event),
(gst_speex_resample_check_discont), (gst_speex_fix_output_buffer),
(gst_speex_resample_process), (gst_speex_resample_transform),
(gst_speex_resample_query), (gst_speex_resample_set_property):
* gst/speexresample/gstspeexresample.h:
Some random cleanup, add G_LIKELY and friends, use GST_DEBUG_OBJECT
instead of GST_DEBUG, ...
2008-10-28 19:30:33 +00:00
Sebastian Dröge
6009490cef gst/speexresample/gstspeexresample.c: Fixate to the nearest supported rate instead of the first one.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_class_init), (gst_speex_resample_fixate_caps),
(gst_speex_resample_process):
Fixate to the nearest supported rate instead of the first one.
2008-10-28 16:28:45 +00:00
Sebastian Dröge
70348d7327 gst/audioresample/gstaudioresample.c: Fixate the rate to the nearest supported rate instead of the first one. Fixes b...
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init), (audioresample_fixate_caps):
Fixate the rate to the nearest supported rate instead of
the first one. Fixes bug #549510.
2008-10-28 16:25:00 +00:00
Sebastian Dröge
08489d15ed gst/speexresample/: Update Speex resampler with latest version from Speex GIT.
Original commit message from CVS:
* gst/speexresample/README:
* gst/speexresample/arch.h:
* gst/speexresample/fixed_arm4.h:
* gst/speexresample/fixed_arm5e.h:
* gst/speexresample/fixed_bfin.h:
* gst/speexresample/fixed_debug.h:
* gst/speexresample/fixed_generic.h:
* gst/speexresample/resample.c: (compute_func), (main), (sinc),
(cubic_coef), (resampler_basic_direct_single),
(resampler_basic_direct_double),
(resampler_basic_interpolate_single),
(resampler_basic_interpolate_double), (update_filter),
(speex_resampler_init_frac), (speex_resampler_process_native),
(speex_resampler_magic), (speex_resampler_process_float),
(speex_resampler_process_int),
(speex_resampler_process_interleaved_float),
(speex_resampler_process_interleaved_int),
(speex_resampler_set_rate_frac), (speex_resampler_skip_zeros),
(speex_resampler_reset_mem):
* gst/speexresample/speex_resampler.h:
Update Speex resampler with latest version from Speex GIT.
2008-10-28 11:46:28 +00:00
Sebastian Dröge
e4e86b0bad gst/typefind/gsttypefindfunctions.c: Improve MXF typefinding a bit by searching for a header partition pack instead o...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mxf_type_find):
Improve MXF typefinding a bit by searching for a header partition
pack instead of just a general partition pack and checking more
bytes for valid values.
2008-10-20 14:08:52 +00:00
Stefan Kost
2cd4c7e2b9 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:07:00 +00:00
Wim Taymans
5ad1ebcf4c gst/audiotestsrc/gstaudiotestsrc.c: Set the default blocksize to -1 because we will then use the configured samplespe...
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_init):
Set the default blocksize to -1 because we will then use the configured
samplesperbuffer to create our output buffer.
2008-10-16 13:50:00 +00:00
Edward Hervey
e68dbb884d gst/typefind/gsttypefindfunctions.c: Don't forget to advance the offset of what we're matching against, else we end u...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (flac_type_find):
Don't forget to advance the offset of what we're matching against, else
we end up in a forever loop.
2008-10-15 14:25:50 +00:00
Sebastian Dröge
e86d1dd432 gst/subparse/gstsubparse.c: Improve typefinding a bit. If we don't have a Unicode charset try GST_SUBTITLE_ENCODING a...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_subparse_type_find):
Improve typefinding a bit. If we don't have a Unicode charset
try GST_SUBTITLE_ENCODING and otherwise try ISO-8859-15.
2008-10-15 11:25:09 +00:00
Sebastian Dröge
e7b42af896 gst/subparse/: Add support for UTF16/UTF32 subtitles as long as the first bytes of the first buffer contain the BOM. ...
Original commit message from CVS:
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_class_init), (gst_sub_parse_init),
(gst_convert_to_utf8), (detect_encoding), (convert_encoding),
(get_next_line), (gst_sub_parse_data_format_autodetect),
(feed_textbuf), (handle_buffer), (gst_sub_parse_change_state),
(gst_subparse_type_find):
* gst/subparse/gstsubparse.h:
Add support for UTF16/UTF32 subtitles as long as the first bytes of
the first buffer contain the BOM. This also adds support for other
encodings that allow NUL bytes via the encoding property.
Fixes bugs #552237 and #456788.
2008-10-13 08:58:29 +00:00
Sebastian Dröge
d0d588ff6f gst/typefind/gsttypefindfunctions.c: For looking at the 4th byte we have to get 4 bytes of course and not 3.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (flac_type_find):
For looking at the 4th byte we have to get 4 bytes of course
and not 3.
2008-10-13 08:00:55 +00:00
Sebastian Dröge
862fd1d50f gst/typefind/gsttypefindfunctions.c: Improve FLAC-without-headers typefinding by looking at most of the frame header ...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (flac_type_find):
Improve FLAC-without-headers typefinding by looking at most of the
frame header and checking if invalid values are used. Should prevent
quite some false positives compared to the old version which only
check if the first 14 bits are set.
2008-10-13 07:52:41 +00:00
Sebastian Dröge
60bf63486b Add support for subtitle files with UTF-8 BOM at the beginning by simple stripping it from the first line before pass...
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect), (handle_buffer),
(gst_sub_parse_change_state):
* gst/subparse/gstsubparse.h:
* tests/check/elements/subparse.c: (GST_START_TEST):
Add support for subtitle files with UTF-8 BOM at the beginning
by simple stripping it from the first line before passing it
to any parsing code. Fixes bug #555257 and playback of files
created by Gnome Subtitles.
2008-10-10 17:13:40 +00:00
Wim Taymans
81f5117fa9 gst/audiotestsrc/gstaudiotestsrc.*: Define the default property values in the usual place.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init), (gst_audio_test_src_init),
(gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps),
(gst_audio_test_src_start), (gst_audio_test_src_stop),
(gst_audio_test_src_do_seek), (gst_audio_test_src_check_get_range),
(gst_audio_test_src_create):
* gst/audiotestsrc/gstaudiotestsrc.h:
Define the default property values in the usual place.
Implement start/stop to reset values correctly.
Calculate the sample size only once when we negotiate.
Rename some values to make more sense.
Keep track of our byte range.
Add support for pull based scheduling. Disabled for now until we have
the whole stack working.
Set the BUFFER_OFFSET correctly.
2008-10-10 15:45:15 +00:00