Commit graph

1870 commits

Author SHA1 Message Date
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
Wim Taymans
7d049bc29f uridecodebin: configure caps on decodebin2
Implement the caps property by setting the configured caps on new decodebin2
objects.

Fixes #582749
2009-05-19 15:35:54 +02:00
Wim Taymans
e685a9e86d decodebin2: avoid some _caps_ref in some cases
Only mess with the caps refcount when we configure different caps.
2009-05-19 15:34:38 +02:00
Wim Taymans
8f2f705c21 uridecodebin: fix potential caps leak
Free the user-configured caps in finalize.
2009-05-19 15:27:12 +02:00
Wim Taymans
f11edb626f uridecodebin: add queue after cdda://
Add a queue2 after the raw output pads of certain sources such as those for uris
like cdda://

No tuning of the queue is done yet as the defaults seem to work fine for me.

Fixes #582528
2009-05-19 15:20:27 +02:00
Edward Hervey
65c046b1ea audioresample: Don't drain remaining buffers after a flush.
If we were resetted (due to a flush), we can not drain the remaining
buffers since they would be pushed before a valid new newsegment event.
2009-05-19 11:20:19 +02:00
Stefan Kost
c94f952056 adder: add more logging and return value checking 2009-05-19 01:13:34 +03:00
Stefan Kost
705b01aa93 adder: handle the return value from iterator_fold 2009-05-19 01:11:45 +03:00
Stefan Kost
591fbbcea7 adder: use the pad in logging as objects
Helps to differenciate between source and sinks pads.
2009-05-19 01:03:44 +03:00
David Schleef
6f686c9ba0 videotestsrc: Add support for v210 and v216 formats 2009-05-15 18:44:37 -07:00
Arnout Vandecappelle
785f748810 multifdsink: add num-fds property
multifdsink::num-fds
2009-05-15 23:07:01 +02:00
Jan Schmidt
768cadf093 playbin2: Fix cdda:// playback
Don't send async-start when the playsink has already been configured
before changing state.
2009-05-14 22:50:53 +01:00
Tim-Philipp Müller
8d326479a5 audiotestsrc: fix broken enum nick - it should have a hyphen
The enum nick should be 'sine-table', not 'sine table'. Technically this is
an API/ABI change I guess, but anyone who was using this and didn't report
it deserves this.
2009-05-12 17:18:37 +01:00
Tim-Philipp Müller
21228a6934 audiotestsrc: seek to the requested byte offset, not the expected byte offset 2009-05-12 15:32:02 +01:00
Tim-Philipp Müller
72c5884f4a audiotestsrc: support more than just one channel 2009-05-12 15:32:02 +01:00
Wim Taymans
956c9f32a3 videorate: handle invalid timestamps better
Handle buffers with -1 timestamps better by keeping track of the en time of the
previous buffer and assuming the -1 timestamp buffer goes right after the
previous one.

when we have two buffers that are equally good, output the oldest buffer once to
minimize latency.

don't try to calculate latency when the input framerate is unknown.
2009-05-12 10:47:17 +02:00
Wim Taymans
a0525fadb4 decodebin2: make subpictures a raw output format
Subpictures are a raw format, we want those pads exposed so that playbin2 can do
the subpicture mixing.
2009-05-12 10:40:11 +02:00
Wim Taymans
e1aa348246 playbin2: make fallback identity silent
Set the signal-handoffs to FALSE and silent to TRUE for the fallback identity
element so that it consumes less CPU.
2009-05-12 10:38:15 +02:00
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