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
Wim Taymans [Wed, 27 May 2009 09:08:37 +0000 (11:08 +0200)]
netbuffer: also note the order of IP4 addresses
IP4 addresses are also stored in network byte order. Make a note of this in the
docs.
Alessandro Decina [Tue, 26 May 2009 20:43:34 +0000 (22:43 +0200)]
theoraparse: fix assertions in make_granulepos when using the new theora granulepos mapping. Fixes #583903.
Tim-Philipp Müller [Tue, 26 May 2009 10:13:35 +0000 (11:13 +0100)]
Revert "rtspconnection: don't use GLib-2.16 API, we require only 2.14"
This reverts commit
418760cf740332c12c3fd9cf3244af134fa9534b.
We now require GLib 2.16.
Jan Schmidt [Tue, 26 May 2009 14:18:09 +0000 (15:18 +0100)]
Update common
Wim Taymans [Tue, 26 May 2009 13:37:18 +0000 (15:37 +0200)]
netbuffer: document that the port is network order
Document the fact that we store the port number in network order in
GstNetAddress and that the caller should byteswap appropriately.
Sebastian Dröge [Tue, 26 May 2009 13:23:45 +0000 (15:23 +0200)]
videoscale: Add support for 16 bit grayscale in native endianness
Sebastian Dröge [Tue, 26 May 2009 12:58:28 +0000 (14:58 +0200)]
ffmpegcolorspace: Add support for 16 bit grayscale in little/big endian
Sebastian Dröge [Tue, 26 May 2009 12:38:43 +0000 (14:38 +0200)]
videotestsrc: Add support for 16 bit grayscale in native endianness
Andy Wingo [Wed, 21 Jan 2009 11:33:59 +0000 (12:33 +0100)]
add can-activate-pull property to baseaudiosink
* gst-libs/gst/audio/gstbaseaudiosink.c: Add can-activate-pull property
to baseaudiosink.
Wim Taymans [Tue, 26 May 2009 11:14:07 +0000 (13:14 +0200)]
oggdemux: fix boundary case for seeking.
When we have exactly 0 bytes left to search, make sure we stop instead of going
into an infinite loop.
Bastien Nocera [Tue, 26 May 2009 09:11:03 +0000 (11:11 +0200)]
cddabasesrc: Remove copy of sha1 digest
Remove our copy of sha1 digest now that we depend on glib 2.16.
Fixes #536313
Christian Schaller [Mon, 25 May 2009 16:54:01 +0000 (17:54 +0100)]
Update spec file
Tim-Philipp Müller [Fri, 22 May 2009 23:33:04 +0000 (00:33 +0100)]
video: don't expose internal gst_adapter_get_buffer() helper function
If it's really needed it should go into GstAdapter in core.
David Schleef [Sat, 23 May 2009 04:29:51 +0000 (21:29 -0700)]
basevideo: Fix memleak
David Schleef [Sat, 23 May 2009 04:27:58 +0000 (21:27 -0700)]
schro: Fix usage of adapter_masked_scan_uint32
Because *somebody* changed the API without telling me.
David Schleef [Sat, 23 May 2009 04:25:06 +0000 (21:25 -0700)]
schro: Change package name to GST_PACKAGE_NAME
David Schleef [Sat, 23 May 2009 00:34:10 +0000 (17:34 -0700)]
basevideo: Add preset interface to encoder
David Schleef [Sat, 23 May 2009 00:31:14 +0000 (17:31 -0700)]
Run liboil benchmark multiple times
The statistics function requires multiple runs, otherwise
it causes a divide by zero error.
Tim-Philipp Müller [Fri, 22 May 2009 18:36:06 +0000 (19:36 +0100)]
m4: fix 'suspicious cache value' warning for gst-fionread.m4
.. here as well (should really be moved to common, but I'm too lazy).
Wim Taymans [Fri, 22 May 2009 15:41:50 +0000 (17:41 +0200)]
vorbisdec: detect and report errors better
Check the return values of a couple more libvorbis functions and post an error
when something is wrong instead of continuing and crashing.
Stefan Kost [Fri, 22 May 2009 12:49:14 +0000 (15:49 +0300)]
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.
Jan Schmidt [Fri, 22 May 2009 09:19:51 +0000 (10:19 +0100)]
Automatic update of common submodule
From d3a8fab to 888e0a2