Wim Taymans [Fri, 10 Apr 2009 19:49:45 +0000 (21:49 +0200)]
baseaudiosink: use the internal clock time
We can't assume that the internal clock time is the same as the function we
installed on our provided clock because somebody might have changed it.
Wim Taymans [Fri, 10 Apr 2009 12:12:53 +0000 (14:12 +0200)]
seek: handle clock-lost messages
When we receive a clock-lost message we need to pause and play to select a new
clock.
Wim Taymans [Fri, 10 Apr 2009 11:44:40 +0000 (13:44 +0200)]
check: add a unit test for playbin2
Add unit test for playbin2 and include the refcount test in #577794.
Wim Taymans [Fri, 10 Apr 2009 11:42:56 +0000 (13:42 +0200)]
playbin2: fix refcounting of visualisations
See #577794.
Wim Taymans [Fri, 10 Apr 2009 11:27:41 +0000 (13:27 +0200)]
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.
Wim Taymans [Fri, 10 Apr 2009 10:27:53 +0000 (12:27 +0200)]
check: fix appsink test
Fix the appsink test now that the method signature changed.
Wim Taymans [Fri, 10 Apr 2009 10:26:16 +0000 (12:26 +0200)]
playbin2: handle missing input-selector
Gracefully degrade and disable stream selection when input-selector is
missing.
Martin Samuelsson [Thu, 9 Apr 2009 21:46:17 +0000 (23:46 +0200)]
appsink: make callbacks return GstFlowReturn
Make the new_buffer and new_preroll callbacks return a GstFlowReturn so that
errors can be reported properly.
Fixes #577827.
Wim Taymans [Thu, 9 Apr 2009 16:04:44 +0000 (18:04 +0200)]
ringbuffer: allow for custom commit functions
Allow subclasses to override the commit method.
Wim Taymans [Wed, 8 Apr 2009 16:04:22 +0000 (18:04 +0200)]
baseaudiosink: fix a small glitch after pause
After we pause the stream and interrupt the writeout to the ringbuffer, also adjust
the amount of output samples we consumed. We can't do this reliably with the
current API when we are doing trick modes but we can do the right thing for
normal playback.
Stefan Kost [Wed, 8 Apr 2009 13:43:27 +0000 (16:43 +0300)]
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.
Stefan Kost [Tue, 7 Apr 2009 19:38:29 +0000 (22:38 +0300)]
audiofilter: don't leak pad-template
gst_element_class_add_pad_template() does not take ownership.
Felipe Contreras [Sat, 4 Apr 2009 18:18:38 +0000 (21:18 +0300)]
Automatic update of common submodule
From d0ea89e to b3941ea
Edward Hervey [Sat, 4 Apr 2009 14:28:14 +0000 (16:28 +0200)]
navigation/v4l: Don't use g_return_val_if_fail for computed/used values.
Edward Hervey [Sun, 22 Mar 2009 08:46:37 +0000 (09:46 +0100)]
theoradec: return GST_CLOCK_TIME_NONE for negative framecounts.
This fixes most seeking issues when used with gnonlin.
Fixes #543591
Edward Hervey [Sat, 4 Apr 2009 12:53:42 +0000 (14:53 +0200)]
Automatic update of common submodule
From f8b3d91 to d0ea89e
Michael Smith [Fri, 3 Apr 2009 17:51:42 +0000 (10:51 -0700)]
playbin2: don't leak selector when getting current stream numbers.
Wim Taymans [Thu, 2 Apr 2009 20:28:55 +0000 (22:28 +0200)]
rtsp: use fully qualified urls when using a proxy
Use a fully qualified url when specifying the url for tunneled requests through
a proxy.
See #573173
Jan Schmidt [Mon, 30 Mar 2009 23:54:30 +0000 (00:54 +0100)]
navigation: Extend the navigation interface
Add support for a set of standard commands that can be queried and executed to
support applications like DVD. Add query construction and parsing functions.
Add new messages that can be sent on the bus to provide notifications related
to commands, multiangle changes, and button highlight activity.
Add some helper functions to parse the existing GstNavigation events that
elements might receive.
Document it all and add unit tests.
Jan Schmidt [Wed, 4 Feb 2009 17:03:07 +0000 (17:03 +0000)]
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.
Jan Schmidt [Thu, 2 Apr 2009 08:27:07 +0000 (09:27 +0100)]
ignores: Ignore the videoscale check binary
Jan Schmidt [Thu, 2 Apr 2009 11:13:57 +0000 (12:13 +0100)]
win32: Add gst_rtsp_connection_set_proxy to the win32 exports
Tim-Philipp Müller [Thu, 2 Apr 2009 09:42:19 +0000 (10:42 +0100)]
alsamixer: don't forget to release locks in a few places
Might fix #576585.
Sebastian Dröge [Thu, 2 Apr 2009 09:10:12 +0000 (11:10 +0200)]
videoscale: Don't read over line ends when taking the last Cr or Cb
Sebastian Dröge [Thu, 2 Apr 2009 08:52:06 +0000 (10:52 +0200)]
videoscale: Don't write to few pixels and don't mix Cr and Cb
Fixes bug #577054.
Tim-Philipp Müller [Wed, 1 Apr 2009 14:15:57 +0000 (15:15 +0100)]
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.
Tim-Philipp Müller [Thu, 26 Mar 2009 19:34:23 +0000 (19:34 +0000)]
docs: add a blurb about redirect messages to playbin2 docs
Wim Taymans [Wed, 1 Apr 2009 07:03:35 +0000 (09:03 +0200)]
rtsp: fix little typo in the comments
Tim-Philipp Müller [Tue, 31 Mar 2009 16:52:44 +0000 (17:52 +0100)]
rtspconnection: make gst_rtsp_watch_queue_message() thread-safe
People might queue messages from a thread other than the thread in which
the main context which this watch is attached is iterated from, so use
a GAsyncQueue instead of a GList, so g_list_append() doesn't trample
over list nodes just freed in the other thread. This just fixes issues
I've had with gst-rtsp-server. We might need more locking in various
places here.
Tim-Philipp Müller [Tue, 31 Mar 2009 17:13:19 +0000 (18:13 +0100)]
rtsp: clear the entire builder structure
And use structure instead of variable with sizeof when
clearing the rtsp message structure, for clarity.
Tim-Philipp Müller [Tue, 31 Mar 2009 16:56:24 +0000 (17:56 +0100)]
docs: fix typo in gst_rtsp_message_unset() API docs
Wim Taymans [Tue, 31 Mar 2009 17:00:00 +0000 (19:00 +0200)]
rtsp: add support for proxies
Add suport for proxy servers. Currently only used for tunneled HTTP
connections without authentication.
Wim Taymans [Tue, 31 Mar 2009 16:57:08 +0000 (18:57 +0200)]
Revert "rtsp: reset whole message (was sizeof pointer instead of sizeof type)"
This reverts commit
79de0b8d67df6fbbe79455adc2e06858295f5c03.
Stefan Kost [Thu, 26 Mar 2009 16:54:56 +0000 (18:54 +0200)]
xvimagesink: use xcontext->depth instead of bits in attr.max_value for colorkey
According to the drivers in http://cgit.freedesktop.org/xorg/driver/ we should
format the colorkey depending on xcontext->depth. This is what they will use to
interprete the value. The max_value in turn is usualy a constant regardless of
the depth.
Stefan Kost [Tue, 31 Mar 2009 09:22:14 +0000 (12:22 +0300)]
rtsp: reset whole message (was sizeof pointer instead of sizeof type)
Jan Schmidt [Mon, 30 Mar 2009 23:56:18 +0000 (00:56 +0100)]
doc: Fix a typo in the GstMixer docs
Sebastian Dröge [Sun, 29 Mar 2009 10:01:33 +0000 (12:01 +0200)]
videoscale: Fix linear scaling for one byte components
Fixes bug #577054.
Sebastian Dröge [Sun, 29 Mar 2009 09:53:40 +0000 (11:53 +0200)]
videoscale: Fix 4tap scaling of YUYV and friends
Sebastian Dröge [Sat, 28 Mar 2009 15:08:44 +0000 (16:08 +0100)]
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.
Sebastian Dröge [Sat, 28 Mar 2009 11:48:04 +0000 (12:48 +0100)]
videoscale: Add some more unit tests
Sebastian Dröge [Sat, 28 Mar 2009 10:51:01 +0000 (11:51 +0100)]
videoscale: Use bilinear instead of 4tap scaling for heights < 4
Partially fixes bug #577054.
Sebastian Dröge [Sat, 28 Mar 2009 10:45:41 +0000 (11:45 +0100)]
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.
Sebastian Dröge [Sat, 28 Mar 2009 10:27:56 +0000 (11:27 +0100)]
videoscale: Don't read after the end of a line when lineary scaling YUYV/UYVY
Partially fixes bug #577054.
Sebastian Dröge [Sat, 28 Mar 2009 09:40:43 +0000 (10:40 +0100)]
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).
Sebastian Dröge [Sat, 28 Mar 2009 09:25:12 +0000 (10:25 +0100)]
videoscale: Add a lot of unit tests
Sebastian Dröge [Sat, 28 Mar 2009 09:06:24 +0000 (10:06 +0100)]
videocale: Add support for video/x-raw-gray with bpp=depth=8
Sebastian Dröge [Sat, 28 Mar 2009 09:01:00 +0000 (10:01 +0100)]
videotestsrc: Add support for generating video/x-raw-gray with bpp=depth=8
Sebastian Dröge [Sat, 28 Mar 2009 08:43:23 +0000 (09:43 +0100)]
ffmpegcolorspace: video/x-raw-gray is the same as the YUV Y800 format
Sebastian Dröge [Fri, 27 Mar 2009 18:12:49 +0000 (19:12 +0100)]
videoscale: Take the next luma value instead of every second next when scaling UYVY and friends
Sebastian Dröge [Fri, 27 Mar 2009 18:09:47 +0000 (19:09 +0100)]
videoscale: Add support for v308 YUV colorspace
Sebastian Dröge [Fri, 27 Mar 2009 12:15:11 +0000 (13:15 +0100)]
videoscale: Add my copyright to the 4tap scalers
Sebastian Dröge [Fri, 27 Mar 2009 12:14:17 +0000 (13:14 +0100)]
videoscale: Enable 4-tap scaling for all supported formats
Sebastian Dröge [Fri, 27 Mar 2009 12:14:00 +0000 (13:14 +0100)]
videoscale: Implement 4-tap scaling for RGB565 and RGB555
Sebastian Dröge [Fri, 27 Mar 2009 09:47:39 +0000 (10:47 +0100)]
videoscale: Implement 4-tap scaling for UYVY
Sebastian Dröge [Fri, 27 Mar 2009 08:33:58 +0000 (09:33 +0100)]
videoscale: Implement 4-tap scaling for YUY2 and YVYU
Sebastian Dröge [Thu, 26 Mar 2009 21:14:53 +0000 (22:14 +0100)]
videoscale: Implement 4-tap scaling for RGB and BGR
Sebastian Dröge [Thu, 26 Mar 2009 21:08:26 +0000 (22:08 +0100)]
videoscale: Implement 4-tap scaling for RGBA and other 4 byte formats
Sebastian Dröge [Thu, 26 Mar 2009 10:02:41 +0000 (11:02 +0100)]
textoverlay: Fix drawing of UYVY text borders
Zeeshan Ali [Thu, 26 Mar 2009 09:36:27 +0000 (10:36 +0100)]
textoverlay: Add support for UYVY colorspace
Fixes bug #378094.
Wim Taymans [Wed, 25 Mar 2009 18:01:45 +0000 (19:01 +0100)]
decodebin2: do some more cleanup
Free the groups when we go to READY.
Allow for NO_PREROLL elements.
Wim Taymans [Wed, 25 Mar 2009 15:37:28 +0000 (16:37 +0100)]
rtsp: start CSeq counting from 1 instead of 0
Start counting from 1 instead of 0 as this is what most other clients
seem to do.
Wim Taymans [Wed, 25 Mar 2009 15:35:22 +0000 (16:35 +0100)]
rtsp: add ETag and If-Match headers
Add new headers, we need them for RealMedia support.
Stefan Kost [Wed, 25 Mar 2009 12:16:25 +0000 (14:16 +0200)]
xvimagesink: scale the colorkey components in case of 16bit visuals
Use a default that won't be scales to 0,0,0
Tim-Philipp Müller [Wed, 25 Mar 2009 11:27:44 +0000 (11:27 +0000)]
audiosrc: improve 'Dropped n samples' warning message
Wim Taymans [Tue, 24 Mar 2009 18:41:06 +0000 (19:41 +0100)]
examples: use new method to set flags
Use the new core method for setting object enum properties by name.
Wim Taymans [Tue, 24 Mar 2009 17:29:28 +0000 (18:29 +0100)]
playbin2: add more support for subpictures
Wim Taymans [Tue, 24 Mar 2009 16:12:53 +0000 (17:12 +0100)]
playbin2: first support for subpictures
Add beginnings of subpicture support.
Wim Taymans [Tue, 24 Mar 2009 14:26:57 +0000 (15:26 +0100)]
seek: print tags from the different tracks
Wim Taymans [Tue, 24 Mar 2009 11:22:37 +0000 (12:22 +0100)]
playbin2: blacklist subpictures for now
Blacklist the subpictures until we add support for them.
Add some small debug info.
See #576408.
Wim Taymans [Tue, 24 Mar 2009 11:19:30 +0000 (12:19 +0100)]
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.
Wim Taymans [Tue, 24 Mar 2009 09:42:04 +0000 (10:42 +0100)]
playbin2: rescan audio sinks for volume/mute
Rescan the audio sinks for the mute and volume properties.
fixes #576180.
Wim Taymans [Mon, 23 Mar 2009 18:40:18 +0000 (19:40 +0100)]
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
Wim Taymans [Mon, 23 Mar 2009 16:37:48 +0000 (17:37 +0100)]
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
Wim Taymans [Mon, 23 Mar 2009 15:59:36 +0000 (16:59 +0100)]
tests: print some more info in the text example
Print both the position and the running_time when the subtitle becomes available
in the application.
Wim Taymans [Mon, 23 Mar 2009 15:04:27 +0000 (16:04 +0100)]
playbin2: fix dynamic switching of visualisations
Fix the switching of visualisations by requesting and releasing the tee request
pads on demand.
See #576187.
Stefan Kost [Mon, 23 Mar 2009 14:19:11 +0000 (16:19 +0200)]
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).
Stefan Kost [Tue, 17 Mar 2009 07:14:02 +0000 (09:14 +0200)]
indent: fix damange that gst-indent did some time ago
Wim Taymans [Mon, 23 Mar 2009 14:27:27 +0000 (15:27 +0100)]
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.
Wim Taymans [Mon, 23 Mar 2009 11:26:05 +0000 (12:26 +0100)]
uridecodebin: reset counter
reset the number of pending dynamic operations back to 0 when we reuse
uridecodebin.
Fixes #576190
Edward Hervey [Mon, 23 Mar 2009 10:38:53 +0000 (11:38 +0100)]
theoradec: Use GST_CLOCK_TIME_NONE for invalid positions. Fixes #543591
The problem was that previously we didn't check whether _theora_granule_frame
returned a negative framecount or not, resulting in bogus timestamps.
René Stadler [Sat, 21 Mar 2009 08:46:28 +0000 (09:46 +0100)]
vorbisenc: Set caps on non-header ouput buffers.
Fixes #576142.
Wim Taymans [Fri, 20 Mar 2009 15:13:06 +0000 (16:13 +0100)]
seek: Add some more debug
Add some more info about the selected streams.
Wim Taymans [Fri, 20 Mar 2009 14:47:47 +0000 (15:47 +0100)]
decodebin2: a pad starts out being not drained.
Mark a new pad as not drained until we get EOS on it.
LRN [Fri, 20 Mar 2009 13:17:19 +0000 (14:17 +0100)]
win32: fix seeking in large files
Fix Seeking in large files by using the 64-bit seek functions.
Fixes #576019
Wim Taymans [Thu, 19 Mar 2009 19:31:01 +0000 (20:31 +0100)]
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.
Wim Taymans [Thu, 19 Mar 2009 18:35:15 +0000 (19:35 +0100)]
decodebin2: more cleanups and docs.
Add some more comments and use g_list_prepend().
Wim Taymans [Thu, 19 Mar 2009 18:19:38 +0000 (19:19 +0100)]
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.
Wim Taymans [Thu, 19 Mar 2009 18:03:25 +0000 (19:03 +0100)]
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.
Wim Taymans [Wed, 18 Mar 2009 09:45:50 +0000 (10:45 +0100)]
icles: print better error and warning messages
--
Sebastian Dröge [Tue, 17 Mar 2009 21:53:44 +0000 (22:53 +0100)]
rtsp: Use GLib base64 functions and deprecate gst_rtsp_base64_encode
This also fixes another instance of CVE-2008-4316.
Wim Taymans [Tue, 17 Mar 2009 18:53:44 +0000 (19:53 +0100)]
oggdemux: report -1 for duration in push mode
In push mode we must return TRUE from the duration query with a value of -1
meaning that we know that we don't know the duration.
Wim Taymans [Tue, 17 Mar 2009 18:09:02 +0000 (19:09 +0100)]
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.
Wim Taymans [Tue, 17 Mar 2009 14:39:23 +0000 (15:39 +0100)]
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.
Wim Taymans [Tue, 17 Mar 2009 10:54:40 +0000 (11:54 +0100)]
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.
Wim Taymans [Tue, 17 Mar 2009 10:51:58 +0000 (11:51 +0100)]
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.
Wim Taymans [Tue, 17 Mar 2009 10:30:58 +0000 (11:30 +0100)]
example: use appsink instead of fakesink
Use appsink instead of fakesink to get the subtitles.
Make things more pretty.
Wim Taymans [Tue, 17 Mar 2009 10:24:00 +0000 (11:24 +0100)]
examples: add example of intercepting subtitles
Add an example of how to install a custom sink for receiving subtitles in
playbin2.
Wim Taymans [Tue, 17 Mar 2009 10:03:57 +0000 (11:03 +0100)]
tests: fix include in the appsink test
Fix dist by doing the right include.
Wim Taymans [Mon, 16 Mar 2009 15:42:18 +0000 (16:42 +0100)]
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.
Wim Taymans [Mon, 16 Mar 2009 15:16:30 +0000 (16:16 +0100)]
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.