Commit graph

1889 commits

Author SHA1 Message Date
Wim Taymans
e8598d24e5 uridecodebin: make fd:// uri use buffering too
fd:// usually operate in push mode only and are thus suitable for buffering.
2009-06-30 18:44:44 +02:00
Stefan Kost
c1f46ea29e volume: include "1.0=100%" in property description 2009-06-30 14:46:38 +03:00
Stefan Kost
aab2e110a1 playsink: remove unused property defs 2009-06-30 14:45:51 +03:00
Jan Schmidt
ee7fd4c28d playsink: Avoid a segfault when the video sink fails to start
Don't attempt to display the subpictures and segfault when the
video sink failed to start (and hence the videochain is NULL).
2009-06-29 14:35:03 +01:00
René Stadler
61441ff183 playbin2: fix initial volume handling also when reusing the element
This is a follow-up to commit 452988, making it work correctly when the audio
chain is reused.
2009-06-27 16:36:11 +03:00
Stefan Kost
f8506f9e1f screenshot: don't leak message 2009-06-26 13:14:52 +03:00
Tim-Philipp Müller
8b94cd3934 typefinding: lower the h264 typefinder's probability
A NEARLY_CERTAIN is absolutely not warranted given the kind
of things it checks for. Even a LIKELY is probably not entirely
appropriate.
2009-06-25 12:09:59 +01:00
Wim Taymans
09737d728b adder: only unflush when we flushed before
Ass suggested by Stefan Kost:
Keep track of when the sinkpad was set to flushing and unflush the pad when an
upstream flushing seek failed.
2009-06-23 18:08:44 +02:00
Tim-Philipp Müller
5974042bba uridecodebin: fix leak when the source fails to change state 2009-06-23 15:12:50 +01:00
Wim Taymans
c933933f09 ssaparse: avoid leaking all buffers 2009-06-23 12:40:56 +02:00
Sebastian Dröge
dc706f7f2f audiotestsrc: Name gaussian noise "gaussian-noise" instead of just "gaussian"
Also make all the function arrays constant.
2009-06-21 19:43:18 +02:00
Kipp Cannon
620391b300 audiotestsrc: Add support for generating gaussian white noise
This patch adds support for stationary white Gaussian noise.
The Box-Muller algorithm is used to generate pairs of independent
normally-distributed random numbers.

Fixes bug #586519.
2009-06-21 12:29:03 +02:00
Jan Schmidt
0ed6ec3902 ffmpegcolorspace: Fix NV12 and NV21 transformations
Fix some stride problems, fix the nv12 to nv21 direct transformation,
and implement a direct conversion to yuv444 to save CPU.
2009-06-20 23:48:22 +01:00
Jan Schmidt
ad947b2436 videotestsrc: Fix NV12 painting for odd strides/heights 2009-06-20 23:48:22 +01:00
Wim Taymans
85dbf93515 adder: more seeking fixes.
When a seek failed upstream, make sure the adder sinkpad is set unflushing again
so that streaming can continue.
We only have a pending segment when we flushed.
Set the flush_stop_pending flag inside the appropriate locks and before we
attempt to perform the upstream seek.
Add some more comments.
Use the right lock to protect the flags in flush_stop.

See #585708
2009-06-17 11:22:51 +02:00
Sebastian Dröge
62f43a1c52 decodebin2: Free iterator after removing all groups 2009-06-17 07:24:53 +02:00
Wim Taymans
c4d729a4da playbin2: set smarter target state on uridecodebin
Set the target state of the newly added uridecodebins to somthing else that
PAUSED so that we keep their state in sync with the playsink state.

Fixes #585268
2009-06-16 18:20:06 +02:00
Wim Taymans
a31c3bfc60 playsink: set the sink flag on the element 2009-06-16 18:20:05 +02:00
Wim Taymans
7a82caebd2 uridecodebin: add debug message 2009-06-16 18:20:05 +02:00
Stefan Kost
fd36634f88 adder: send flush_stop when seeking failed
At least do the fix to sent the flush_stop when seeking failed to ensure we
keep no pads flushing. before it was send when the seeking worked which is just
plain wrong and was not the intention.
2009-06-15 11:45:19 +03:00
Wim Taymans
45084bf579 adder: send flush-stop earlier
When no flush-stop has been sent by upstream, we have to send one ourselves to
continue playback. Do this as soon as the collect function is called instead of
after we possibly pushed segment events (that got then flushed out)
2009-06-12 16:31:00 +02:00
Wim Taymans
6a7d0ebf2a playsink: update for new step API 2009-06-12 13:52:02 +02:00
Tim-Philipp Müller
9ca2bf36de subparse, ogmparse: post tags with GST_TAG_SUBTITLE_CODEC
Make subtitle parsers post a taglist with codec tags, so the application
knows what kind of subtitle a subtitle stream is. Fixes #576552.
2009-06-11 22:32:28 +01:00
Jan Schmidt
79e97ec5ec playbin2/uridecodebin: Fix connection-speed propagation
uridecodebin expects the passed connection-speed value in kbps, so we
need to divide the value stored in bps by 1000. Also, lower the upper
limit on the properties to the value that we can actually store in our
internal guint (which is plenty high enough)
2009-06-10 17:05:18 +01:00
Tim-Philipp Müller
40bea96ff6 subparse: recognise more subrip timestamp variants
Be even less restrictive in what we accept for .srt timestamps when
typefinding and parsing subrip subtitles and add a unit test for
the 'new' format. Fixes #585197.
2009-06-10 14:41:41 +01:00
Wim Taymans
ef1030ee6e decodebin2: make sure varargs are of right type
Explicitly cast the variables to g_object_set to their right types.
2009-06-05 18:13:25 +02:00
Wim Taymans
f444f0edce decodebin2: increase stream probing queues
When we are probing for streams, we want to set the queue size in such a way
that we can scan a maximum amount of data without consuming too much memory.
Therefore, remove the time limit on the queue and only stop scanning after 2MB
of data.

See #584104.
2009-06-05 16:49:58 +02:00
Sebastian Dröge
28b366db00 playbin2: API: Add {audio,video,text}-tags-changed signals
Fixes bug #584686.
2009-06-04 08:59:28 +02:00
Wim Taymans
49ee8a2d05 playbin2: also set custom text and subp sinks
Set the custom subpicture and text sinks along with the custom audio and video
sinks when needed.
Fix a little docs blurb too.
2009-06-03 12:45:08 +02:00
Edward Hervey
31e7bf098d typefindfunctions: Fix caps for ogg typefinder. 2009-06-02 09:54:23 +02:00
Wim Taymans
ea97973efe add framestepping to playbin2 and seek 2009-06-01 11:31:49 +02:00
Sebastian Dröge
a9c405f5fa ffmpegcolorspace: Add a lot more conversions from/to 16 bit grayscale 2009-05-30 14:18:56 +02:00
Jan Schmidt
8900ada0eb playbin2: Have playbin recognise PGS subpicture streams
Recognise PGS subpicture streams and connect them to the SPU pad
in playsink. Unfortunately this fails badly with negotiation errors
if the SPU is not recent enough to support the stream. I'm not sure
how to add format negotiation in yet.
2009-05-29 00:09:15 +01:00
Jan Schmidt
47d7464b10 decodebin/uridecodebin: Recognise subpicture/x-pgs pads and output them. 2009-05-28 22:07:30 +01:00
Tim-Philipp Müller
effa5e69d9 playbin2: fix volume handling for audio sinks without "volume" property
When using an audio sink without a "volume" property, volume control
would only work for the first song. For the next song, we'd try to
re-use the existing audio chain, but inadvertently set chain->volume
to NULL instead of to the existing volume element.
2009-05-28 20:49:22 +01:00
Tim-Philipp Müller
18fc3e6e18 playbin2: cosmetic change to avoid unnecessary line breaks
Looks nicer and works around gst-indent silliness.
2009-05-28 17:05:55 +01:00
Wim Taymans
3f20b0522a playbin2: don't lose the ref to the volume element
Only release the ref to the volume element when it is controled by a sink. For
software volume we never have to fear that it will change.
2009-05-28 17:21:35 +02:00
Tim-Philipp Müller
7620d8800d playbin2: actually use configured audio/video sinks
playbin2 inadvertently used autoaudiosink and autovideosink up to now,
since it would overwrite the sinks configured via the "audio-sink"
and "video-sink" properties with the stream-specific group sinks when
configuring the outputs. Those are usually NULL however, so that would
overwrite the configured sinks with NULL which makes playbin2 then
default to the auto sinks. Fix this by keeping a reference to each
configured sink in playbin2 and setting up the right sinks depending
on whether there is a stream-specific sink or not.

Fixes #584020.
2009-05-28 15:30:27 +01:00
Wim Taymans
650215bcfd decodebin2: remove leftover elements
Remove all of the elements inside decodebin2 when goint to READY and NULL.
Makes decodebin2 reusable.
Fixes #583750
2009-05-27 18:12:10 +02:00
Wim Taymans
de06a6adb5 playbin2; release refs to volume/mute properties
Release the refs to the volume and mute property elemens before setting the
child elements to READY or NULL.
Fixes #583318
2009-05-27 15:45:25 +02:00
Wim Taymans
4fad939053 gdppay: set caps on outgoing buffers
Set caps on outgoing buffers because NULL caps confuse basetransform.
Fixes #583867
2009-05-27 12:10:05 +02:00
Sebastian Dröge
2e5c946501 videoscale: Add support for 16 bit grayscale in native endianness 2009-05-26 15:26:30 +02:00
Sebastian Dröge
9d02d1d8ab ffmpegcolorspace: Add support for 16 bit grayscale in little/big endian 2009-05-26 15:26:30 +02:00
Sebastian Dröge
d48a5614f4 videotestsrc: Add support for 16 bit grayscale in native endianness 2009-05-26 15:26:29 +02:00
David Schleef
1dae15d762 Run liboil benchmark multiple times
The statistics function requires multiple runs, otherwise
it causes a divide by zero error.
2009-05-22 17:34:56 -07:00
Stefan Kost
45298860fc playbin2: fix initial volume and mute handling
Use two flags to remember volume/mute changes at times when we don't have the
audiochain yet (e.g. construction). Only set values when they were actualy
changed. This makes pulseaudio's stream restore functional.
2009-05-22 15:49:14 +03:00
Wim Taymans
5181760120 tcpclientsrc: this is not a live source
Don't mark us as a live source because we are not.
2009-05-19 18:43:45 +02:00
Stefan Kost
4228ba0c6b adder: only send flush_stop when seek failed
This is still not the ultimate fix. Added some comment to explain the troubles.
2009-05-19 18:44:01 +03:00
Stefan Kost
ef56ebad48 adder: send flush_stop to match flush_start
Adder was relying that something else sends a flush stop. When using adder with
a livesource it was not getting a flush_stop and thus all pads downstream where
keept flushing. Mark a pending flush_stop and send it when we are working on
the new segment back in the streaming thread.
2009-05-19 16:49:35 +03:00
Stefan Kost
eeb3300383 decodebin: use iterators instead of list
The list api is deprecated. Use threadsafe iterators instead.
2009-05-19 16:49:35 +03:00