Tim-Philipp Müller [Fri, 7 Aug 2009 15:51:45 +0000 (16:51 +0100)]
id3demux: add ID3 v2.3 spec as well
Tim-Philipp Müller [Fri, 7 Aug 2009 15:42:39 +0000 (16:42 +0100)]
id3demux: sizes in ID3 v2.3 are unlikely to be sync-safe integers
In ID3 v2.3 compressed frames will have a 4-byte data length indicator
after the frame header to indicate the size of the decompressed data.
This integer is unlikely to be a sync-safe integer for v2.3 tags,
only in v2.4 it's sync-safe.
Tim-Philipp Müller [Fri, 7 Aug 2009 15:36:55 +0000 (16:36 +0100)]
id3demux: fix typo in debug message
Tim-Philipp Müller [Fri, 7 Aug 2009 15:02:23 +0000 (16:02 +0100)]
id3demux: fix parsing of unsync'ed ID3 v2.4 tags and frames
Reversing the unsynchronisation seems to work slightly differently
for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame
sizes in the frame header, so the unsynchronisation is applied to
the whole frame data including all the frame headers. v2.4 frames
have sync-safe sizes, however, so the unsynchronisation only needs
to be applied to the actual frame data, and it seems that's what's
being done as well. So we need to undo the unsynchronisation on a
per-frame basis for v2.4 tags for things to work properly.
Fixes extraction of coverart/images from APIC frames in ID3 v2.4
tags (#588148).
Add unit test for this as well.
Sebastian Dröge [Thu, 6 Aug 2009 19:24:14 +0000 (21:24 +0200)]
souphttpsrc: Use SOUP_METHOD_GET instead of "GET" string
Fixes bug #590970.
Wim Taymans [Thu, 6 Aug 2009 11:00:59 +0000 (13:00 +0200)]
pulsesrc: set the default slave method to skew
Set the default slave method to the much better skew algorithm. This is the
default in the new base class but we override this here as well for the
upcomming release.
Tim-Philipp Müller [Thu, 6 Aug 2009 09:20:34 +0000 (10:20 +0100)]
pulsesrc: fix compilation with --disable-gst-debug
Wim Taymans [Mon, 3 Aug 2009 16:59:32 +0000 (18:59 +0200)]
rtph264pay: use array instead of queue
Mark Nauwelaerts [Mon, 3 Aug 2009 16:55:19 +0000 (18:55 +0200)]
rtph264pay: push NALs only after SPS/PPS
parse complete (bytestream) buffer for SPS/PPS before pushing NALs.
Fixes #564501.
Sebastian Dröge [Tue, 4 Aug 2009 12:44:36 +0000 (14:44 +0200)]
v4l2: Directly use GST_PTR_FORMAT for printing caps with the LOG_CAPS macro
Edward Hervey [Tue, 4 Aug 2009 09:17:17 +0000 (11:17 +0200)]
rtpqdm2depay: Fix debug statement.
Sebastian Dröge [Tue, 4 Aug 2009 07:32:07 +0000 (09:32 +0200)]
v4l2: Remove some OMAP specific hacks
They require special build flags and are not useful in general.
Rob Clark [Tue, 4 Aug 2009 07:22:29 +0000 (09:22 +0200)]
v4l2sink: change where buffers get dequeued
It seems to cause strange occasional high latencies (almost 200ms) when dequeuing buffers from _buffer_alloc(). It is simpler and seems to work much better to dqbuf from the same thread that is queuing the next buffer.
Rob Clark [Tue, 4 Aug 2009 07:14:20 +0000 (09:14 +0200)]
v4l2: Add v4l2sink element
This also does the following changes:
(1) pull the bufferpool code out into gstv4l2bufferpool.c, and make a
bit more generic so it can be used both for v4l2src and v4l2sink
(2) move some of the device probing/configuration/caps stuff into
gstv4l2object.c so it does not have to be duplicated between
v4l2src and v4l2sink
Fixes bug #590280.
Sebastian Dröge [Tue, 4 Aug 2009 05:07:45 +0000 (07:07 +0200)]
flvmux: Enable unit test now that it passes
Edward Hervey [Mon, 3 Aug 2009 19:21:39 +0000 (21:21 +0200)]
rtpqdm2depay,rtpsv3vdepay: Add debugging category.
Edward Hervey [Mon, 3 Aug 2009 19:22:48 +0000 (21:22 +0200)]
rtpqdm2depay: Handle gaps in incoming packets.
Whenever we see a gap, we flush the temporary packets (but not the adapter). If we
had some data temporarily stored it will be outputted (the sound will sound a bit
garbled... but that's how it sounds on MacOSX :)
Edward Hervey [Mon, 3 Aug 2009 17:01:07 +0000 (19:01 +0200)]
rtpqdmdepay: Fix CRC calculation and remove commented code.
Edward Hervey [Sun, 2 Aug 2009 11:42:12 +0000 (13:42 +0200)]
rtp: New QDM2 rtp depayloader.
Reverse-engineered by comparing:
* A rtp hinted file provided by DarwinStreamingServer
* The output procued by DSS for that same file
Also used various streaming sources available on the internet to fine-tune
the code.
The header/codec_data extraction methods are from FFMpeg (LGPL).
Edward Hervey [Mon, 3 Aug 2009 19:24:44 +0000 (21:24 +0200)]
rtpsv3vdepay: Properly fill codec_data and cleanup code a bite more.
Edward Hervey [Mon, 3 Aug 2009 17:02:17 +0000 (19:02 +0200)]
rtpsv3vdepay: Only output buffers once we're configured.
Edward Hervey [Mon, 3 Aug 2009 17:02:00 +0000 (19:02 +0200)]
rtpsv3vdepay: Add more encoding-name variants
Sebastian Dröge [Mon, 3 Aug 2009 18:08:33 +0000 (20:08 +0200)]
flvmux: Fix unit test to correctly handle request pads
Request pads are removed by the element instance in PAUSED->READY
so we need to re-request pads for every run and link them again.
Last fix for bug #590447.
Sebastian Dröge [Mon, 3 Aug 2009 18:08:00 +0000 (20:08 +0200)]
flvmux: Fix writing of the index for < 128 buffers
Partially fixes bug #590447.
Sebastian Dröge [Mon, 3 Aug 2009 18:07:00 +0000 (20:07 +0200)]
flvmux: Fix resetting of the element
Reset the have_video/have_audio flags and make sure to
properly release the request pads.
Partially fixes bug #590447.
Wim Taymans [Mon, 3 Aug 2009 16:13:46 +0000 (18:13 +0200)]
rtspsrc: don't add non-utf8 chars to structures
Luc Deschenaux [Mon, 3 Aug 2009 16:02:31 +0000 (18:02 +0200)]
jpegdepay: use attributes for extra properties
Use some of the SDP attributes when they are present to specify the output
dimension and framerate. This allows us to receive jpeg frames larger than
2040 width/height.
Fixes #564437
Wim Taymans [Mon, 3 Aug 2009 16:01:27 +0000 (18:01 +0200)]
RTP docs: update with attributes in caps
Luc Deschenaux [Mon, 3 Aug 2009 15:21:44 +0000 (17:21 +0200)]
rtspsrc: put all SDP attributes on caps
Put the SDP attributes on the caps too so that they can be used by
depayloaders.
See #564437
Jonathan Tellier [Mon, 3 Aug 2009 11:32:12 +0000 (13:32 +0200)]
pulsesrc: initialize the probe with the server
When creating a new probe, pass the server instead of the device string.
fixes #590401
Tim-Philipp Müller [Sun, 2 Aug 2009 10:44:03 +0000 (11:44 +0100)]
multiudpsink: don't do things with side-effects inside g_return_val_if_fail()
Someone might compile this code with -DG_DISABLE_ASSERT some day.
Tim-Philipp Müller [Sat, 1 Aug 2009 20:39:30 +0000 (21:39 +0100)]
pulsesink: don't do logic within g_assert() statements
Otherwise that code will just be expanded to nothing when compiled
-DG_DISABLE_ASSERT (PS: why is mainloop_start() called in the init
function and not when changing state to READY?)
Tim-Philipp Müller [Sat, 1 Aug 2009 16:07:42 +0000 (17:07 +0100)]
flacdec: send newsegment event when operating push-based and unframed
For some reason flac doesn't call our metadata callback when we operate
in push mode with unframed input, but that's where we set up the
newsegment event (since that's where we'd get the duration from the
stream info header), so we didn't send a newsegment event at all in this
case. Hack around this by storing a generic newsegment event for now
which will be used if we don't replace it with a better one that
includes the duration.
Tim-Philipp Müller [Sat, 1 Aug 2009 15:48:36 +0000 (16:48 +0100)]
flacdec: small cleanups
Remove some callback indirections which are no longer needed because
there's only one decoder object type now. Also remove unused variable.
Tim-Philipp Müller [Sat, 1 Aug 2009 14:22:49 +0000 (15:22 +0100)]
flacdec: use gst_adapter_copy() to avoid unnecessary buffer merges
gst_adapter_peek() will merge buffers as needed, which we can avoid
here since we're doing a memcpy anyway and then flush the copied
data from the adapter right away.
Tim-Philipp Müller [Fri, 31 Jul 2009 23:00:41 +0000 (00:00 +0100)]
flacdec: repair some broken indenting
Tim-Philipp Müller [Sat, 1 Aug 2009 11:19:41 +0000 (12:19 +0100)]
checks: add basic unit test for flvmux, but disable it for now
Basic unit test for flvmux. Fails miserably, hence disabled for now.
Tim-Philipp Müller [Fri, 31 Jul 2009 22:28:12 +0000 (23:28 +0100)]
check: add basic unit test for flvdemux
In particular, test re-use of flvdemux in both pull and push mode
(see #583030).
Tim-Philipp Müller [Fri, 31 Jul 2009 19:25:17 +0000 (20:25 +0100)]
flvmux: fix invalid write caused by using sizeof("string") as length
sizeof("foo") includes the string's NUL-terminator in the size returned,
but we're writing strings here with an explicit size at the beginning
and no NUL-terminator. In most cases using sizeof("foo") as length in
memcpy is not harmful, but it is where the string goes right at the
end of our buffer to write, since we don't allocate space for that
NUL terminator.
Edward Hervey [Mon, 27 Jul 2009 16:44:45 +0000 (18:44 +0200)]
soup: Use "GET" instead of SOUP_METHOD_GET. Fixes build with libsoup-2.7.*
This is due to a quality API change in libsoup 2.7. SOUP_METHOD_* are now
integers and not strings... they could have changed the names.
Stefan Kost [Thu, 30 Jul 2009 14:57:53 +0000 (17:57 +0300)]
jpeg: use longer macro names to not clash with some stupid windows defines
libjpeg headers pull some windows system inlcudes (on windows) that contain a
define for DEFAULT_QUALITY.
Sebastian Dröge [Wed, 29 Jul 2009 12:31:48 +0000 (14:31 +0200)]
avidemux: Fix last commit and improve readability
Руслан Ижбулатов [Fri, 24 Jul 2009 15:04:31 +0000 (19:04 +0400)]
Fixed the fix for TIME->DEFAULT conversion.
Fixes bug #578052 again.
Edward Hervey [Wed, 29 Jul 2009 11:38:03 +0000 (13:38 +0200)]
rtpsv3depay: Fix width/height calculation, bring up to marginal rank.
Based on documentation found on http://wiki.multimedia.cx/
Wim Taymans [Wed, 29 Jul 2009 10:13:20 +0000 (12:13 +0200)]
pulse: conditionally compile newer stuff
configured_sink/source_usec in the timing_info is only since 0.9.11 so
conditionally compile this information.
fixes #590038
Wim Taymans [Tue, 28 Jul 2009 16:29:07 +0000 (18:29 +0200)]
pulsesrc: cleanups
Keep track of the paused state of the source and leave the read function when
paused.
don't wait for a latency update when the delay is not yet known but simply
return 0 instead of blocking.
Keep track of the corked state of the stream.
Fix the state changes.
Wim Taymans [Tue, 28 Jul 2009 14:11:18 +0000 (16:11 +0200)]
pulsesrc: set maxlength always to -1
Wim Taymans [Tue, 28 Jul 2009 13:53:57 +0000 (15:53 +0200)]
pulsesrc; cleanups, report real latency
Add some more debug info
Avoid some type casts
Report the real latency to the application.
Mark Nauwelaerts [Tue, 28 Jul 2009 14:11:36 +0000 (16:11 +0200)]
jpegdec: when scanning for 0xff marker ends, ensure desired result
Otherwise, any non 0xff byte at end of data would be mistaken for
a tag byte, and in case of a frame_len 0 tag subsequently lead to an
infinite loop.
Thiago Santos [Tue, 28 Jul 2009 03:30:43 +0000 (00:30 -0300)]
avimux: adds support to wma
Thiago Santos [Tue, 28 Jul 2009 03:07:15 +0000 (00:07 -0300)]
avimux: adds support to wmv
Thiago Santos [Tue, 28 Jul 2009 00:34:22 +0000 (21:34 -0300)]
qtdemux: Downgrade warning message to debug
Wim Taymans [Mon, 27 Jul 2009 09:51:39 +0000 (11:51 +0200)]
pulsesink: avoid using ivalid stream indexes
when we get an invalid stream index from pulse because we were just starting,
avoid using it for getting and setting the volume.
Fixes #589365
Sebastian Dröge [Fri, 24 Jul 2009 17:38:07 +0000 (19:38 +0200)]
effectv: Don't allow caps changes for some effectv filters
These filters use information from previous frames to
generate the current frame and a caps change will make
the effect start from the beginning again.
Sebastian Dröge [Fri, 24 Jul 2009 17:37:09 +0000 (19:37 +0200)]
warptv: Make the sine table global instead of having it in every instance
Stefan Kost [Fri, 24 Jul 2009 07:47:44 +0000 (10:47 +0300)]
jpeg: make encoder work with libjpeg v7
We have to specify do_fancy_downsampling = FALSE in the encoder with did not exist before.
Stefan Kost [Thu, 23 Jul 2009 21:42:33 +0000 (00:42 +0300)]
Automatic update of common submodule
From fedaaee to 94f95e3
Sebastian Dröge [Thu, 23 Jul 2009 10:06:27 +0000 (12:06 +0200)]
flacdec: Implement SEEKING query
Fixes bug #589423.
Colin Guthrie [Wed, 22 Jul 2009 10:16:06 +0000 (11:16 +0100)]
pulsesink: Fix a couple error messages that mentioned incorrect function names.
Fixes #589459.
Sebastian Dröge [Thu, 23 Jul 2009 09:50:16 +0000 (11:50 +0200)]
flvdemux: Implement SEEKING query
Also add some more query types to the answer of the query type function.
Fixes bug #589424.
Tim-Philipp Müller [Tue, 21 Jul 2009 18:46:55 +0000 (19:46 +0100)]
flacdec: fix intermittent FLAC__STREAM_DECODER_ABORTED errors when seeking
When seeking in a local flac file (ie. operating pull-based), the decoder
would often just error out after the loop function sees a DECODER_ABORTED
status. This, however, is the read callback's way of telling our loop
function that pull_range failed and streaming should stop, in this case
because of the flush-start event that the seek handler pushed upstream
from the seeking thread. Handle this slightly better by storing the last
flow return from pull_range, so the loop function can evaluate it properly
when it encounters a DECODER_ABORTED and take the right action.
Fixes #578612.
Stefan Kost [Tue, 21 Jul 2009 07:07:00 +0000 (10:07 +0300)]
interleave: fix indenting and upgrade two debugs to warnings.
Fix newlines in variable decls. Change two debugs to become warnings as they
indicate that things will not work.
Stefan Kost [Tue, 21 Jul 2009 07:04:36 +0000 (10:04 +0300)]
jpeg: code cleanups for encoder
Remove some disabled code in encoder. Try #if 0'ed code and add comments about
why it is disabled. Move idct-method enum to jpeg.c and use in both encoder and
decoder. Add idct-method property to encoder.
Sebastian Dröge [Tue, 21 Jul 2009 05:50:46 +0000 (07:50 +0200)]
matroskademux: Answer SEEKING queries in the original format
Josep Torra [Mon, 20 Jul 2009 23:12:44 +0000 (01:12 +0200)]
udputils: initialize struct content with 0.
Fixes some random crashes.
Wim Taymans [Mon, 20 Jul 2009 17:09:19 +0000 (19:09 +0200)]
pulsesink: set some values to their defaults
Set the minreq and maxlength buffer attributes to -1 to let puleseaudio select a
sensible value.
Wim Taymans [Mon, 20 Jul 2009 17:04:09 +0000 (19:04 +0200)]
pulsesink: don't wait for posted message
We can't wait for the ENTER/LEAVE messages to be be posted because the base
class sometimes calls the start method with the object lock, which would block
the message posting.
Instead, just assume that the message will be posted soon and continue. We'll
have to fix this in the base class.
Wim Taymans [Mon, 20 Jul 2009 16:11:33 +0000 (18:11 +0200)]
pulsesink: use relative seeks
Use relative seeks because I was told that absolute seeks don't work.
Sebastian Dröge [Mon, 20 Jul 2009 14:52:19 +0000 (16:52 +0200)]
matroskademux: Implement SEEKING query
Sebastian Dröge [Mon, 20 Jul 2009 06:07:13 +0000 (08:07 +0200)]
cairorender: Add support for ARGB/BGRA input
Note that videotestsrc outputs 100% transparent video
which will result in white output from cairorender.
Elaine Xiong [Fri, 17 Jul 2009 12:22:57 +0000 (13:22 +0100)]
v4l2: Fix v4l2src on OpenSolaris
The v4l2 driver for USB webcams on OpenSolaris does not support select()
calls. Detect when select() fails, and skip polling the device afterward,
which restores the pre 0.10.14 behaviour on OpenSolaris.
Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
Jan Schmidt [Fri, 17 Jul 2009 10:22:06 +0000 (11:22 +0100)]
gitignore: Ignore some new binaries
Sebastian Dröge [Fri, 17 Jul 2009 11:49:21 +0000 (13:49 +0200)]
cairorender: Add to the documentation
Sebastian Dröge [Fri, 17 Jul 2009 11:42:49 +0000 (13:42 +0200)]
cairorender: Return not-negotiated if we have no caps
Sebastian Dröge [Fri, 17 Jul 2009 11:41:19 +0000 (13:41 +0200)]
cairorender: Fix caps and colorspace handling
Sebastian Dröge [Fri, 17 Jul 2009 11:30:02 +0000 (13:30 +0200)]
cairorender: Use correct mimetypes for PDF and SVG
Sebastian Dröge [Fri, 17 Jul 2009 11:24:28 +0000 (13:24 +0200)]
cairorender: Remove pull mode, it only adds complexity but not advantages
Sebastian Dröge [Thu, 16 Jul 2009 19:55:31 +0000 (21:55 +0200)]
cairorender: Fix caps negotiation and cairo surface creation
Sebastian Dröge [Thu, 16 Jul 2009 19:42:21 +0000 (21:42 +0200)]
cairorender: Correctly set srccaps
Sebastian Dröge [Thu, 16 Jul 2009 19:31:43 +0000 (21:31 +0200)]
cairorender: Move instance/class struct definitions to the header
Sebastian Dröge [Thu, 16 Jul 2009 19:30:00 +0000 (21:30 +0200)]
cairorender: Add Lutz' copyright to the file header
Lutz Mueller [Thu, 16 Jul 2009 19:27:45 +0000 (21:27 +0200)]
cairo: Add cairo-based PDF/PS/SVG encoder element
Fixes bug #331420.
Sebastian Dröge [Thu, 16 Jul 2009 18:44:40 +0000 (20:44 +0200)]
flacenc: Optionally write a PADDING block
The size of the PADDING block is specified by a new
"padding" property.
Fixes bug #588483.
Sebastian Dröge [Thu, 16 Jul 2009 17:35:44 +0000 (19:35 +0200)]
souphttpsrc: Only assume seekability if the server provides Content-Length
Previously seekability way always assumed until the first seek actually
failed. Now we assume that all servers are not seekable unless they provide
a Content-Length header. If a seek fails after that we continue to
assume no seekability. Fixes bug #585576.
Arnout Vandecappelle [Thu, 16 Jul 2009 13:14:43 +0000 (15:14 +0200)]
souphttpsrc: don't try to authenticate if no username/password is set.
Sebastian Dröge [Thu, 16 Jul 2009 15:10:21 +0000 (17:10 +0200)]
effectv: Chain up finalize to the parent class in warptv
Fixes a memory leak.
Sebastian Dröge [Thu, 16 Jul 2009 10:55:49 +0000 (12:55 +0200)]
effectv: Add unit test for all effectv elements
Sebastian Dröge [Thu, 16 Jul 2009 10:17:32 +0000 (12:17 +0200)]
effectv: Add new effectv elements to the docs
Sebastian Dröge [Wed, 15 Jul 2009 12:37:19 +0000 (14:37 +0200)]
effectv: Add rippletv element
This produces a water ripple effect on the video input,
based on motion or a rain drop algorithm.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588695.
Sebastian Dröge [Sun, 12 Jul 2009 13:42:35 +0000 (15:42 +0200)]
effectv: Add streaktv effect filter element
This combines the StreakTV and BaltanTV filters from the
effectv project.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588368.
Sebastian Dröge [Sun, 12 Jul 2009 10:31:15 +0000 (12:31 +0200)]
effectv: Fix processing on big endian architectures
Sebastian Dröge [Sun, 12 Jul 2009 09:52:04 +0000 (11:52 +0200)]
effectv: Add radioactv effect filter
This filter adds a radiation-like motion blur effect
to the video stream.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588359.
Sebastian Dröge [Sun, 12 Jul 2009 09:26:57 +0000 (11:26 +0200)]
effectv: Make the optv threshold property an uint
Sebastian Dröge [Sun, 12 Jul 2009 08:39:02 +0000 (10:39 +0200)]
effect: Add optv effect filter from the effectv project
This filter binarizes input frames and combines them with various
optical pattern.
Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.
Fixes bug #588349.
Olivier Crête [Fri, 3 Jul 2009 09:11:26 +0000 (05:11 -0400)]
pulsesink: Emit stream-status leave message
Fixes #587695
Olivier Crête [Fri, 3 Jul 2009 09:06:45 +0000 (05:06 -0400)]
pulsesink: Emit stream-status enter message
Emit stream-status messages for the pulse thread.
Don't use our own GCond for signaling but simply use the pulse mainloop
mechanisms for synchronisation.
See #587695
Wim Taymans [Tue, 14 Jul 2009 16:15:59 +0000 (18:15 +0200)]
pulsesink: debug the latency update values
Wim Taymans [Tue, 14 Jul 2009 14:12:55 +0000 (16:12 +0200)]
pulsesink: add 24bit sample formats
Add check for pulseaudio 0.9.15 and enable 24bits samples in that case.
Olivier Crête [Mon, 13 Jul 2009 16:23:37 +0000 (12:23 -0400)]
Automatic update of common submodule
From 5845b63 to fedaaee
Marc Leeman [Mon, 13 Jul 2009 15:53:25 +0000 (17:53 +0200)]
mpvpay: Rework the timestamping
Rework the timestamping in the mpv payloader so that the timestamps are more
accurate.
Fixes #587680