Kipp Cannon [Sun, 21 Jun 2009 10:27:37 +0000 (12:27 +0200)]
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.
Jan Schmidt [Sat, 20 Jun 2009 22:46:28 +0000 (23:46 +0100)]
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.
Jan Schmidt [Sat, 20 Jun 2009 21:36:21 +0000 (22:36 +0100)]
videotestsrc: Fix NV12 painting for odd strides/heights
Tim-Philipp Müller [Fri, 19 Jun 2009 21:16:43 +0000 (22:16 +0100)]
cdparanoia: run-time license is LGPL now that we require cdparanoia 0.10.2
cdparanoia has an LGPL v2.1 license since 0.10.1 and we now require 0.10.2.
Finally fixes #531035.
Tim-Philipp Müller [Fri, 19 Jun 2009 20:25:54 +0000 (21:25 +0100)]
cdparanoia: try to guess a good cache size if it's set to -1
Try to guess from the paranoia-mode setting whether playback or
ripping is wanted, and use a smaller cache size if we're likely
to be doing playback, to avoid a long startup delay. Since this
was the value used in older cdparanoia versions, it should be
fine in any case. See #586331.
Jonathan Matthew [Fri, 19 Jun 2009 01:27:40 +0000 (11:27 +1000)]
cdparanoia: expose cache size setting
This setting was added in cdparanoia 10.2. The default value is good
for audio extraction, but lower values (previous versions of cdparanoia
used 150) are better for realtime playback.
Fixes #586331.
Christian Schaller [Fri, 19 Jun 2009 16:43:03 +0000 (17:43 +0100)]
Make build of schro plugin conditional
Wim Taymans [Fri, 19 Jun 2009 13:52:34 +0000 (15:52 +0200)]
basertppayload: add support for bufferlists
Based on patch from Ognyan Tonchev.
See #585559
Wim Taymans [Fri, 19 Jun 2009 13:33:04 +0000 (15:33 +0200)]
rtpbuffer: use new convenience functions
New core convenience functions makes the list getters and setters trivial.
Maybe even too trivial...
Wim Taymans [Thu, 18 Jun 2009 17:07:22 +0000 (19:07 +0200)]
defs: add new symbol to win32 defs file
Based on patches by Ognyan Tonchev.
See #585559
Wim Taymans [Thu, 18 Jun 2009 17:04:52 +0000 (19:04 +0200)]
rtp: cleanups, add _list_get_seq() too
Clean up the docs a little.
Add missing _list_get_seq method.
Add new symbols to the docs
Wim Taymans [Thu, 18 Jun 2009 16:47:49 +0000 (18:47 +0200)]
rtp: cleanups
Add Since tags to docs
Move some code around
Add win32 symbols
Wim Taymans [Thu, 18 Jun 2009 15:46:01 +0000 (17:46 +0200)]
rtp: add bufferlist support
Wim Taymans [Thu, 18 Jun 2009 16:03:40 +0000 (18:03 +0200)]
rtp: pass data to macros instead of GstBuffer
Jan Schmidt [Thu, 18 Jun 2009 16:42:10 +0000 (17:42 +0100)]
win32: Add gst_rtsp_watch_queue_data() to the exports
Fix the tests by exporting the new symbol from the win32 dlls
Stefan Kost [Thu, 18 Jun 2009 15:13:22 +0000 (18:13 +0300)]
xvimagesink: appname might be NULL
Don't set title if appname is unknown.
Stefan Kost [Thu, 18 Jun 2009 14:58:06 +0000 (17:58 +0300)]
xvimagesink: set window title from application name
Peter Kjellerstedt [Tue, 9 Jun 2009 17:14:00 +0000 (19:14 +0200)]
rtsp: Made the parsing of the RTSP URL scheme more generic.
Peter Kjellerstedt [Mon, 15 Jun 2009 11:58:26 +0000 (13:58 +0200)]
rtsp: Added gst_rtsp_watch_queue_data().
gst_rtsp_watch_queue_data() is similar to gst_rtsp_watch_queue_message()
but allows for queuing any data block for writing (much like
gst_rtsp_connection_write() vs. gst_rtsp_connection_send().)
API: gst_rtsp_watch_queue_data()
Peter Kjellerstedt [Tue, 9 Jun 2009 14:37:09 +0000 (16:37 +0200)]
rtsp: Only extract the session ID from RTSP responses.
Peter Kjellerstedt [Tue, 9 Jun 2009 17:06:57 +0000 (19:06 +0200)]
rtsp: Added support for parsing IPv6 addresses in RTSP URLs.
Peter Kjellerstedt [Tue, 9 Jun 2009 12:31:18 +0000 (14:31 +0200)]
rtsp: Use getaddrinfo() to support both IPv4 and IPv6.
Peter Kjellerstedt [Wed, 17 Jun 2009 13:37:53 +0000 (15:37 +0200)]
rtsp: Improved base64 decoding in fill_bytes().
The base64 decoding in fill_bytes() expected the size of the read data to
be evenly divisible by four (which is true for the base64 encoded data
itself). This did not, however, take whitespace (especially line breaks)
into account and would fail the decoding if any whitespace was present.
Wim Taymans [Wed, 17 Jun 2009 12:00:23 +0000 (14:00 +0200)]
audiosrc: fix get_offset
When we need to jump to the most recently captured sample, jump to where the
next sample will be written instead of to some old data.
Fixes #581460
Wim Taymans [Wed, 17 Jun 2009 11:18:18 +0000 (13:18 +0200)]
audiosink: free the ringbuffer when going to NULL
Unparent and free the ringbuffer when going to NULL, like we do with the
audiosrc element. We can do this now because we correctly manage the time
jumping back to 0.
Wim Taymans [Wed, 17 Jun 2009 11:17:30 +0000 (13:17 +0200)]
audio: correctly handle short read/writes
René Stadler [Tue, 5 May 2009 12:37:54 +0000 (15:37 +0300)]
baseaudiosrc: add some extra logging for buffer timestamps
Wim Taymans [Wed, 17 Jun 2009 09:22:51 +0000 (11:22 +0200)]
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
Sebastian Dröge [Wed, 17 Jun 2009 05:24:53 +0000 (07:24 +0200)]
decodebin2: Free iterator after removing all groups
Sebastian Dröge [Tue, 16 Jun 2009 17:38:17 +0000 (19:38 +0200)]
videofilter: Add a default get_unit_size function
This returns the correct values for all formats that are handled by
GstVideoFormat and makes all the custom get_unit_size functions in
many elements unnecessary.
Wim Taymans [Tue, 16 Jun 2009 16:57:20 +0000 (18:57 +0200)]
rtsp: add Timestamp header field
fixes #585994
Wim Taymans [Tue, 16 Jun 2009 16:15:06 +0000 (18:15 +0200)]
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
Wim Taymans [Tue, 16 Jun 2009 16:13:53 +0000 (18:13 +0200)]
playsink: set the sink flag on the element
Wim Taymans [Tue, 16 Jun 2009 16:09:43 +0000 (18:09 +0200)]
uridecodebin: add debug message
Tim-Philipp Müller [Tue, 16 Jun 2009 13:05:04 +0000 (14:05 +0100)]
audiosink, audiosrc: do the class_ref()s in the right class_init functions
Spotted by Philip Jägenstedt. Hopefully fixes #585970 for real.
Tim-Philipp Müller [Mon, 15 Jun 2009 14:39:09 +0000 (15:39 +0100)]
audiosink,audiosrc: ref the audio ring buffer class and type in class_init
Hack around thread-safety issues in GObject and our racy _get_type()
functions (we could easily fix the _get_type() functions, but we still
need to hack around the GObject class races until we require a newer
GLib version, I think).
Wim Taymans [Mon, 15 Jun 2009 10:57:39 +0000 (12:57 +0200)]
audiosrc: return FALSE when receiving a SEEK event
When receiving a seek event, return FALSE as we don't implement seeking.
Sebastian Dröge [Mon, 15 Jun 2009 09:06:25 +0000 (11:06 +0200)]
Don't use deprecated GTK API
Fixes bug #585758.
Stefan Kost [Mon, 15 Jun 2009 08:40:00 +0000 (11:40 +0300)]
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.
Peter Kjellerstedt [Fri, 12 Jun 2009 13:17:14 +0000 (15:17 +0200)]
rtsp: Use a more consistent naming of GstRTSPRec variables.
Peter Kjellerstedt [Fri, 12 Jun 2009 13:11:05 +0000 (15:11 +0200)]
rtsp: Call message_sent() callback for all sent messages.
Previously the messages_sent() callback was only called for messages
which had a CSeq, which excluded all data messages. Instead of using the
CSeq as ID, use a simple index counter.
Tim-Philipp Müller [Sun, 14 Jun 2009 21:13:41 +0000 (22:13 +0100)]
oggdemux: post/send tags with the container-format tag
For this to work properly, theoradec and vorbisdec need to put
tag events received from upstream into the pending_events list
so they get pushed out after any newsegment event, not before.
Sebastian Dröge [Sun, 14 Jun 2009 18:30:59 +0000 (20:30 +0200)]
Don't use deprecated GTK API
Fixes bug #585758.
Wim Taymans [Fri, 12 Jun 2009 14:31:00 +0000 (16:31 +0200)]
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)
Wim Taymans [Fri, 12 Jun 2009 11:55:33 +0000 (13:55 +0200)]
seek: add shuttle controls
Wim Taymans [Fri, 12 Jun 2009 11:55:02 +0000 (13:55 +0200)]
example: fix compile
Wim Taymans [Fri, 12 Jun 2009 11:52:25 +0000 (13:52 +0200)]
examples: build the stepping2 example
Wim Taymans [Fri, 12 Jun 2009 11:52:02 +0000 (13:52 +0200)]
playsink: update for new step API
Wim Taymans [Fri, 12 Jun 2009 11:22:47 +0000 (13:22 +0200)]
oggdemux: do reverse seeks more accurate
For reverse seeking with the accurate flag set, try to be more precise by
seeking a little bit after the requested position.
Tim-Philipp Müller [Thu, 11 Jun 2009 21:32:28 +0000 (22:32 +0100)]
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.
Wim Taymans [Thu, 11 Jun 2009 17:12:51 +0000 (19:12 +0200)]
ringbuffer: handle border cases in resampler
Jan Schmidt [Thu, 11 Jun 2009 12:28:20 +0000 (13:28 +0100)]
docs: Update common. Use upload-doc.mak instead of upload.mak
Wim Taymans [Thu, 11 Jun 2009 10:39:19 +0000 (12:39 +0200)]
docs: fix typo
Wim Taymans [Thu, 11 Jun 2009 10:17:16 +0000 (12:17 +0200)]
baseaudiosink: reset accum when dropping samples
When we are resampling and we drop samples because we paused, reset the accum
counter because it's now invalid.
Jan Schmidt [Thu, 11 Jun 2009 10:16:15 +0000 (11:16 +0100)]
docs: Fix a couple of warnings from the docs build.
Tim-Philipp Müller [Wed, 10 Jun 2009 20:36:19 +0000 (21:36 +0100)]
Don't include config.h multiple times when build audio testchannel app.
Fixes build problem on win32 (#585075).
Jan Schmidt [Wed, 10 Jun 2009 15:56:51 +0000 (16:56 +0100)]
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)
Tim-Philipp Müller [Wed, 10 Jun 2009 13:37:36 +0000 (14:37 +0100)]
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.
Wim Taymans [Tue, 9 Jun 2009 20:00:53 +0000 (22:00 +0200)]
rtsp: add some more docs
Peter Kjellerstedt [Tue, 9 Jun 2009 16:24:55 +0000 (18:24 +0200)]
rtsp: Avoid a compiler warning.
Peter Kjellerstedt [Tue, 9 Jun 2009 16:23:28 +0000 (18:23 +0200)]
rtsp: Updated documentation for GstRTSPResult.
Moved GST_RTSP_ELAST to be last in the documentation to match the actual
enum values.
Tim-Philipp Müller [Wed, 20 May 2009 16:30:23 +0000 (17:30 +0100)]
autogen: remove -Wno-portability from here
as it is in configure.ac now.
Peter Kjellerstedt [Tue, 9 Jun 2009 14:28:20 +0000 (16:28 +0200)]
rtsp: Plug a memory leak.
Free memory related to any partially read and/or written RTSP messages.
Wim Taymans [Tue, 9 Jun 2009 10:09:15 +0000 (12:09 +0200)]
baseaudiosink: no need to cause discont when clipping
Remove the discont-when-clipping hack now that basesink provides us with
correctly clipped samples when stepping.
Wim Taymans [Mon, 8 Jun 2009 15:26:59 +0000 (17:26 +0200)]
audiosink: don't align when we clip
Don't align samples when they were clipped. Not entirely correct but better than
nothing for now.
Wim Taymans [Mon, 8 Jun 2009 14:41:58 +0000 (16:41 +0200)]
examples: add stepping example in PLAYING
Add stepping example in PLAYING, audio is a bit distorted because basesink does
not provide good clipping info yet.
Edward Hervey [Mon, 8 Jun 2009 08:25:00 +0000 (10:25 +0200)]
pbutils: Add description for hdv/aux-* formats.
LRN [Sun, 7 Jun 2009 18:20:33 +0000 (22:20 +0400)]
Added libgstbase to schro's LIBADD
Fixes #585079
Tim-Philipp Müller [Sat, 6 Jun 2009 01:15:05 +0000 (02:15 +0100)]
libgsttag: don't extract genres from empty ID3v1 tags
If we don't have any other info, don't try to interpret the
genre field. In particular we don't want to interpret a genre
of 0 as 'Blues' if no other fields are set and the entire tag
is just empty.
Wim Taymans [Fri, 5 Jun 2009 16:13:25 +0000 (18:13 +0200)]
decodebin2: make sure varargs are of right type
Explicitly cast the variables to g_object_set to their right types.
Wim Taymans [Fri, 5 Jun 2009 14:49:58 +0000 (16:49 +0200)]
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.
Peter Kjellerstedt [Fri, 5 Jun 2009 12:06:17 +0000 (14:06 +0200)]
rtsp: Fixed a typo.
Peter Kjellerstedt [Fri, 5 Jun 2009 12:05:54 +0000 (14:05 +0200)]
rtsp: Remove an unused variable.
Peter Kjellerstedt [Fri, 5 Jun 2009 11:59:14 +0000 (13:59 +0200)]
rtsp: Removed duplicate initialization of conn->writefd.
Peter Kjellerstedt [Fri, 5 Jun 2009 11:55:08 +0000 (13:55 +0200)]
rtsp: Use #defined status codes.
Peter Kjellerstedt [Fri, 5 Jun 2009 11:53:29 +0000 (13:53 +0200)]
rtsp: Correct gen_tunnel_reply().
Prevent gen_tunnel_reply() from generating an incomplete response
in case an error response code is given.
Tim-Philipp Müller [Fri, 5 Jun 2009 09:57:44 +0000 (10:57 +0100)]
configure: remove AC_C_INLINE which is not needed and causes problems with MSVC
See #584835. Also update win32 files while we're at it.
Sebastian Dröge [Thu, 4 Jun 2009 06:57:24 +0000 (08:57 +0200)]
playbin2: API: Add {audio,video,text}-tags-changed signals
Fixes bug #584686.
Tim-Philipp Müller [Wed, 3 Jun 2009 19:42:39 +0000 (20:42 +0100)]
vorbisdec: don't put invalid bitrate values into the taglist
Bitrates are stored as 32-bit signed integers in the vorbis
identification headers, but seem to be read incorrectly,
namely as unsigned 32-bit integers, into the vorbis structure
members which are of type long, which makes our check for
values <= 0 fail with files that put -1 in there for unset
values.
Wim Taymans [Wed, 3 Jun 2009 13:52:54 +0000 (15:52 +0200)]
ignore: add new stepping app to ignore
Wim Taymans [Wed, 3 Jun 2009 13:31:27 +0000 (15:31 +0200)]
examples: add stepping example.
Add an example of using playbin2 and frame stepping to simulate variable rate
playback based on a sine wave.
Wim Taymans [Wed, 3 Jun 2009 10:45:08 +0000 (12:45 +0200)]
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.
Wim Taymans [Tue, 2 Jun 2009 10:10:39 +0000 (12:10 +0200)]
rtsp: add G_LIKELY because we can
Edward Hervey [Tue, 2 Jun 2009 07:53:05 +0000 (09:53 +0200)]
typefindfunctions: Fix caps for ogg typefinder.
Tim-Philipp Müller [Fri, 29 May 2009 10:10:07 +0000 (11:10 +0100)]
docs: remove some cruft from -sections.txt file
Wim Taymans [Mon, 1 Jun 2009 09:31:49 +0000 (11:31 +0200)]
add framestepping to playbin2 and seek
Peter Kjellerstedt [Mon, 1 Jun 2009 07:59:22 +0000 (09:59 +0200)]
rtsp: Avoid compiler warnings with -Wextra.
Peter Kjellerstedt [Mon, 1 Jun 2009 07:58:27 +0000 (09:58 +0200)]
rtsp: Include gst/gstconfig.h to make sure GST_PADDING is defined.
Peter Kjellerstedt [Mon, 1 Jun 2009 07:43:04 +0000 (09:43 +0200)]
sdp: Remove an unused variable.
Sebastian Dröge [Sat, 30 May 2009 12:17:41 +0000 (14:17 +0200)]
ffmpegcolorspace: Add a lot more conversions from/to 16 bit grayscale
Jan Schmidt [Thu, 28 May 2009 23:09:15 +0000 (00:09 +0100)]
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.
Jan Schmidt [Thu, 21 May 2009 22:11:29 +0000 (23:11 +0100)]
decodebin/uridecodebin: Recognise subpicture/x-pgs pads and output them.
Tim-Philipp Müller [Thu, 28 May 2009 19:37:59 +0000 (20:37 +0100)]
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.
Tim-Philipp Müller [Thu, 28 May 2009 16:05:55 +0000 (17:05 +0100)]
playbin2: cosmetic change to avoid unnecessary line breaks
Looks nicer and works around gst-indent silliness.
Wim Taymans [Thu, 28 May 2009 15:21:35 +0000 (17:21 +0200)]
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.
Tim-Philipp Müller [Thu, 28 May 2009 14:21:42 +0000 (15:21 +0100)]
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.
Stefan Kost [Wed, 27 May 2009 14:37:38 +0000 (17:37 +0300)]
seek: add volume label and sync with sink volume
Look at the volume and have the pulsemixer open at same time. Unfortunately
playbin2 does not emit notify on volume right, so this polls for now.
Wim Taymans [Wed, 27 May 2009 16:12:10 +0000 (18:12 +0200)]
decodebin2: remove leftover elements
Remove all of the elements inside decodebin2 when goint to READY and NULL.
Makes decodebin2 reusable.
Fixes #583750
Wim Taymans [Wed, 27 May 2009 13:36:51 +0000 (15:36 +0200)]
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
Wim Taymans [Wed, 27 May 2009 10:10:05 +0000 (12:10 +0200)]
gdppay: set caps on outgoing buffers
Set caps on outgoing buffers because NULL caps confuse basetransform.
Fixes #583867