platform/upstream/gstreamer.git
12 years agov4l2: fix error messages
Wim Taymans [Fri, 15 Jul 2011 10:00:54 +0000 (12:00 +0200)]
v4l2: fix error messages

12 years agov4l2: add ALLOCATION query to the sink
Wim Taymans [Fri, 15 Jul 2011 09:30:25 +0000 (11:30 +0200)]
v4l2: add ALLOCATION query to the sink

12 years agov4l2: convert to GstBufferPool
Wim Taymans [Fri, 15 Jul 2011 09:27:18 +0000 (11:27 +0200)]
v4l2: convert to GstBufferPool

Extend from GstBufferPool.
Handle the lifetime of the pool buffers correctly with the start/stop vmethods.
Map acquire and release directly to QBUF and DQBUF. We still expose an explicit
qbuf for the v4l2sink for now.

12 years agov4l2: remove experimental markers
Wim Taymans [Fri, 15 Jul 2011 09:18:03 +0000 (11:18 +0200)]
v4l2: remove experimental markers

12 years agov4l2: merge code
Wim Taymans [Thu, 14 Jul 2011 14:21:36 +0000 (16:21 +0200)]
v4l2: merge code

12 years agov4l2: Move output details to device object
Wim Taymans [Thu, 14 Jul 2011 14:12:15 +0000 (16:12 +0200)]
v4l2: Move output details to device object

Move the details of how a buffer is rendered to the device object.

12 years agov4l2: move capture code to device object
Wim Taymans [Wed, 13 Jul 2011 16:32:00 +0000 (18:32 +0200)]
v4l2: move capture code to device object

Move the details of how to capture to the device object. Remove the
v4l2src_calls.[ch] files because they are empty now.
Provide two simple methods to get and return a buffer to the device.
Also do a slow copy when the buffer is not from our pool.

12 years agov4l2: add some more debug
Wim Taymans [Wed, 13 Jul 2011 14:58:08 +0000 (16:58 +0200)]
v4l2: add some more debug

12 years agov4l2: stop streaming in READY and NULL
Wim Taymans [Wed, 13 Jul 2011 15:56:21 +0000 (16:56 +0100)]
v4l2: stop streaming in READY and NULL

12 years agov4l2: start streaming for the output as well
Wim Taymans [Wed, 13 Jul 2011 14:40:39 +0000 (16:40 +0200)]
v4l2: start streaming for the output as well

12 years agov4l2: Let the device object manage the pool
Wim Taymans [Wed, 13 Jul 2011 14:33:58 +0000 (16:33 +0200)]
v4l2: Let the device object manage the pool

Rename start and stop methods to open and close because that is what they do.
After setting the format on the device object, setup the bufferpools. Move this
code from the v4l2src_calls.c file, it is shared between source and sink.
Make new device start and stop method that merges various bits of common code
spread over several files.

12 years agov4l2: don't store stride in the videoinfo
Wim Taymans [Wed, 13 Jul 2011 12:52:30 +0000 (13:52 +0100)]
v4l2: don't store stride in the videoinfo

We want to keep the default strides in the videoinfo. Keep the stride of the
video frames separate so that we can use both to copy a video frame and do
correct stride conversion.

12 years agov4l2: Use video frame copy for raw video
Wim Taymans [Wed, 13 Jul 2011 11:38:15 +0000 (13:38 +0200)]
v4l2: Use video frame copy for raw video

Use the video frame copy API for raw video frames so that we copy with the right
strides.

12 years agov4l2: add video metadata to raw video buffers
Wim Taymans [Wed, 13 Jul 2011 11:37:58 +0000 (13:37 +0200)]
v4l2: add video metadata to raw video buffers

12 years agov4l2: small cleanups
Wim Taymans [Wed, 13 Jul 2011 11:15:05 +0000 (13:15 +0200)]
v4l2: small cleanups

12 years agov4l2: improve caps parsing
Wim Taymans [Wed, 13 Jul 2011 11:00:42 +0000 (13:00 +0200)]
v4l2: improve caps parsing

Use GstVideoInfo to store the parsed caps.
Remove outsize from the caps parsing code, it's wrong because it does not use
the stride given by the driver.

12 years agov4l2: use errno
Wim Taymans [Wed, 13 Jul 2011 10:40:11 +0000 (11:40 +0100)]
v4l2: use errno

12 years agov4l2: handle EINVAL without posting a warning
Wim Taymans [Wed, 13 Jul 2011 09:36:54 +0000 (11:36 +0200)]
v4l2: handle EINVAL without posting a warning

EINVAL means that a call is not supported, we only want to post a WARNING when
something is really wrong.

12 years agov4l2: only set framerate for capture for now
Wim Taymans [Wed, 13 Jul 2011 09:29:26 +0000 (11:29 +0200)]
v4l2: only set framerate for capture for now

12 years agov4l2: Move configuration of framerate to _set_format
Wim Taymans [Wed, 13 Jul 2011 09:19:28 +0000 (11:19 +0200)]
v4l2: Move configuration of framerate to _set_format

Move the configuration of the framerate to where we set the other format
parameters.
Remove hack to check if the device is active.
Store streamparm in the device info.
Use some macros to access the current device configuration.
Remove some duplicate fields in src and sink and use the device configuration
instead.

12 years agov4l2: fix return value...
Wim Taymans [Tue, 12 Jul 2011 17:13:45 +0000 (19:13 +0200)]
v4l2: fix return value...

12 years agov4l2: simplify setting the capture format
Wim Taymans [Tue, 12 Jul 2011 18:03:32 +0000 (19:03 +0100)]
v4l2: simplify setting the capture format

Pass the caps to the set_format function and make _set_format parse the caps.
Also keep the parsed values in the v4l2object so that we can refer to them when
we want.

12 years agov4l2: remove more unused parameters
Wim Taymans [Tue, 12 Jul 2011 17:41:47 +0000 (18:41 +0100)]
v4l2: remove more unused parameters

12 years agov4l: handle object out of the normal flow
Wim Taymans [Tue, 12 Jul 2011 17:29:35 +0000 (18:29 +0100)]
v4l: handle object out of the normal flow

12 years agov4l2: Let the bufferpool own the V4l2Object
Wim Taymans [Tue, 12 Jul 2011 16:13:42 +0000 (18:13 +0200)]
v4l2: Let the bufferpool own the V4l2Object

Keep track of the currently configured format and setting in the
v4l2object.
Pass the v4l2object to the bufferpool constructor so that the bufferpool can
know everything about the currently configured settings. This also allows us
to remove some awkward code.

12 years agov4l: remove caps argument, it's not needed
Wim Taymans [Tue, 12 Jul 2011 15:06:41 +0000 (17:06 +0200)]
v4l: remove caps argument, it's not needed

Remove the caps parameter, we don't need it anymore because we don't set
caps on buffers anymore.

12 years agov4l: pass the bytesperline around
Wim Taymans [Tue, 12 Jul 2011 15:46:21 +0000 (16:46 +0100)]
v4l: pass the bytesperline around

When setting a format, return the bytesperline to the caller so that it can be
used to allocate buffers.

12 years agopool: make buffer writable
Wim Taymans [Tue, 12 Jul 2011 15:43:04 +0000 (16:43 +0100)]
pool: make buffer writable

We need writable buffers when we need to do a slow memcpy.

13 years agov4l2sink: handle pools
Wim Taymans [Mon, 11 Jul 2011 11:51:52 +0000 (13:51 +0200)]
v4l2sink: handle pools

Create a new pool in setcaps and stop/destroy the old one.
Remove buffer_alloc functions.
Check that we have v4l2 metadata in show_frame and fall back to memcpy into a
buffer from our pool if we don't receive one of our own buffers.

13 years agov4l2: various cleanups
Wim Taymans [Mon, 11 Jul 2011 10:04:57 +0000 (12:04 +0200)]
v4l2: various cleanups

Various cleanups, avoids useless casts, move error handling outside of the main
code flow.
Negotiate to a resonable resolution instead of the max resolution.

13 years agortp: port remaining to 0.11
Mark Nauwelaerts [Sun, 10 Jul 2011 19:50:19 +0000 (21:50 +0200)]
rtp: port remaining to 0.11

13 years agoximage: port to 0.11
Wim Taymans [Sun, 10 Jul 2011 12:56:00 +0000 (14:56 +0200)]
ximage: port to 0.11

13 years agoy4m: port some more
Wim Taymans [Sun, 10 Jul 2011 11:44:49 +0000 (13:44 +0200)]
y4m: port some more

Use video helpers.

13 years agoy4m: port to 0.11
Wim Taymans [Sun, 10 Jul 2011 11:28:27 +0000 (13:28 +0200)]
y4m: port to 0.11

13 years agomultipart: port to 0.11
Wim Taymans [Sun, 10 Jul 2011 10:46:03 +0000 (12:46 +0200)]
multipart: port to 0.11

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Sun, 10 Jul 2011 09:42:37 +0000 (11:42 +0200)]
Merge branch 'master' into 0.11

13 years agodebug: port to 0.11, disable others
Wim Taymans [Sun, 10 Jul 2011 09:40:40 +0000 (11:40 +0200)]
debug: port to 0.11, disable others

Diasable the efence and capsdebug elements, port them later.

13 years agomultifilesrc: Improve looping
David Schleef [Sun, 10 Jul 2011 02:23:41 +0000 (19:23 -0700)]
multifilesrc: Improve looping

Add start-index and stop-index properties.

13 years agomultifile: add loop property to multifilesrc
Jonny Lamb [Thu, 16 Jun 2011 12:57:03 +0000 (13:57 +0100)]
multifile: add loop property to multifilesrc

Fixes: #652727

Signed-off-by: Jonny Lamb <jonnylamb@jonnylamb.com>
Signed-off-by: David Schleef <ds@schleef.org>
13 years agodirectsoundsink: 16-bit audio is signed, 8-bit is unsigned.
Philip Jägenstedt [Fri, 20 Nov 2009 09:07:43 +0000 (10:07 +0100)]
directsoundsink: 16-bit audio is signed, 8-bit is unsigned.

Pretending to handle 8-bit signed causes distorted audio when
actually given such audio, which you will get if passing 8-bit
unsigned through audioconvert ! audioresample, as audioresample
only handles 8-bit signed.  Fixes #605834.

Signed-off-by: David Schleef <ds@schleef.org>
13 years agov4l2: fix gray format, use filter in getcaps
Wim Taymans [Fri, 8 Jul 2011 14:37:11 +0000 (16:37 +0200)]
v4l2: fix gray format, use filter in getcaps

13 years agov4l2: port and enable v4l2sink
Wim Taymans [Fri, 8 Jul 2011 14:10:47 +0000 (16:10 +0200)]
v4l2: port and enable v4l2sink

13 years agov4l2src: port to new video formats
Wim Taymans [Fri, 8 Jul 2011 12:34:40 +0000 (14:34 +0200)]
v4l2src: port to new video formats

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Fri, 8 Jul 2011 10:51:14 +0000 (12:51 +0200)]
Merge branch 'master' into 0.11

13 years agov4l2: port to 0.11
Wim Taymans [Fri, 8 Jul 2011 10:49:12 +0000 (12:49 +0200)]
v4l2: port to 0.11

13 years agomatroskademux: handle blocks with duration=0
Alexey Fisher [Thu, 7 Jul 2011 16:27:36 +0000 (18:27 +0200)]
matroskademux: handle blocks with duration=0

Some video frames, for example alt-ref frame in VP8, will be
never displayed. This is why it has duration=0.

This patch allow to use this duration.

Bug: 654175
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
13 years agoqtmux: Add direct dirac mapping
David Schleef [Thu, 7 Jul 2011 00:18:05 +0000 (17:18 -0700)]
qtmux: Add direct dirac mapping

13 years agoeffectv: port last effectv element to 0.11
Wim Taymans [Thu, 7 Jul 2011 15:59:04 +0000 (17:59 +0200)]
effectv: port last effectv element to 0.11

13 years agoeffectv: port streaktv to 0.11
Wim Taymans [Thu, 7 Jul 2011 15:49:34 +0000 (17:49 +0200)]
effectv: port streaktv to 0.11

13 years agoeffectv: port radioactv to 0.11
Wim Taymans [Thu, 7 Jul 2011 15:40:22 +0000 (17:40 +0200)]
effectv: port radioactv to 0.11

13 years agoeffectv: fix docs
Wim Taymans [Thu, 7 Jul 2011 15:29:58 +0000 (17:29 +0200)]
effectv: fix docs

13 years agoeffectv: port op to 0.11
Wim Taymans [Thu, 7 Jul 2011 15:29:44 +0000 (17:29 +0200)]
effectv: port op to 0.11

13 years agoeffectv: port quark tv
Wim Taymans [Thu, 7 Jul 2011 15:18:21 +0000 (17:18 +0200)]
effectv: port quark tv

13 years agoeffectv: port revtv to 0.11
Wim Taymans [Thu, 7 Jul 2011 14:57:39 +0000 (16:57 +0200)]
effectv: port revtv to 0.11

13 years agoeffectv: port vertigotv to 0.11
Wim Taymans [Thu, 7 Jul 2011 14:46:51 +0000 (16:46 +0200)]
effectv: port vertigotv to 0.11

13 years agoeffectv: port shagadelictv to 0.11
Wim Taymans [Thu, 7 Jul 2011 14:38:10 +0000 (16:38 +0200)]
effectv: port shagadelictv to 0.11

13 years agoauparse: use ALWAYS src pad rather than SOMETIMES
Mark Nauwelaerts [Thu, 7 Jul 2011 09:22:26 +0000 (11:22 +0200)]
auparse: use ALWAYS src pad rather than SOMETIMES

13 years agoauparse: port to 0.11
Mark Nauwelaerts [Thu, 7 Jul 2011 09:14:16 +0000 (11:14 +0200)]
auparse: port to 0.11

13 years agoshapewipe: beginnings of porting
Wim Taymans [Wed, 6 Jul 2011 17:03:52 +0000 (19:03 +0200)]
shapewipe: beginnings of porting

13 years agowarptv: port to 0.11
Wim Taymans [Wed, 6 Jul 2011 16:50:26 +0000 (18:50 +0200)]
warptv: port to 0.11

13 years agodice: keep track of info
Wim Taymans [Wed, 6 Jul 2011 16:50:15 +0000 (18:50 +0200)]
dice: keep track of info

13 years agoeffectv: port dice
Wim Taymans [Wed, 6 Jul 2011 16:32:45 +0000 (18:32 +0200)]
effectv: port dice

13 years agoeffectv: port agingtv
Wim Taymans [Wed, 6 Jul 2011 16:09:49 +0000 (18:09 +0200)]
effectv: port agingtv

13 years agoaasink: port to new video API
Wim Taymans [Wed, 6 Jul 2011 15:50:54 +0000 (17:50 +0200)]
aasink: port to new video API

13 years agocacasink: port to 0.11
Wim Taymans [Wed, 6 Jul 2011 15:40:20 +0000 (17:40 +0200)]
cacasink: port to 0.11

13 years agojpeg: beginnings of porting to 0.11
Wim Taymans [Wed, 6 Jul 2011 14:50:32 +0000 (16:50 +0200)]
jpeg: beginnings of porting to 0.11

13 years agowavparse: use ALWAYS source pad rather than SOMETIMES
Mark Nauwelaerts [Wed, 6 Jul 2011 14:31:18 +0000 (16:31 +0200)]
wavparse: use ALWAYS source pad rather than SOMETIMES

13 years agowavparse: port to 0.11
Mark Nauwelaerts [Wed, 6 Jul 2011 14:10:34 +0000 (16:10 +0200)]
wavparse: port to 0.11

13 years agowavenc: port to 0.11
Mark Nauwelaerts [Wed, 6 Jul 2011 14:10:23 +0000 (16:10 +0200)]
wavenc: port to 0.11

13 years agoqtdemux: adjust to unsigned segment fields
Mark Nauwelaerts [Wed, 6 Jul 2011 10:22:43 +0000 (12:22 +0200)]
qtdemux: adjust to unsigned segment fields

13 years agospeex: port speex elements
Wim Taymans [Wed, 6 Jul 2011 13:57:23 +0000 (15:57 +0200)]
speex: port speex elements

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Wed, 6 Jul 2011 10:05:12 +0000 (12:05 +0200)]
Merge branch 'master' into 0.11

13 years agortpmanager: port to 0.11
Mark Nauwelaerts [Wed, 6 Jul 2011 08:11:52 +0000 (10:11 +0200)]
rtpmanager: port to 0.11

* use G_DEFINE_TYPE
* adjust to new GstBuffer and corresponding rtp and rtcp buffer interfaces
* misc caps and segment handling changes

FIXME: also relies on being able to pass caps along with a buffer,
which has no evident equivalent yet, so that either needs one,
or still needs quite some code path modification to drag along caps.

13 years agopulsesink: prevent race condition causing ref leak
René Stadler [Wed, 29 Jun 2011 17:59:26 +0000 (20:59 +0300)]
pulsesink: prevent race condition causing ref leak

Since commit 8bfd80, gst_pulseringbuffer_stop doesn't wait for the
deferred call to be run before returning. This causes a race when
READY->NULL is executed shortly after, which stops the mainloop. This
leaks the element reference which is passed as userdata for the callback
(introduced in commit 7cf996, bug #614765).

The correct fix is to wait in READY->NULL for all outstanding calls to
be fired (since libpulse doesn't provide a DestroyNotify for the
userdata). We get rid of the reference passing from 7cf996 altogether,
since finalization from the callback would anyways lead to a deadlock.

Re-fixes bug #614765.

13 years agopulsesink: small cleanup of copy-paste code
René Stadler [Mon, 4 Jul 2011 05:58:14 +0000 (08:58 +0300)]
pulsesink: small cleanup of copy-paste code

13 years agopulsesink: remove unused member variable and misleading log message
René Stadler [Wed, 29 Jun 2011 16:50:42 +0000 (19:50 +0300)]
pulsesink: remove unused member variable and misleading log message

Wim changed it in commit 8bfd80 so that pa_defer_ran is not read
anywhere.

The log message used to annotate a mainloop_wait call which is gone.

13 years agovideoflip: fix caps
Wim Taymans [Tue, 5 Jul 2011 13:37:52 +0000 (15:37 +0200)]
videoflip: fix caps

13 years agoeffectv: port edgetv
Wim Taymans [Tue, 5 Jul 2011 09:40:56 +0000 (11:40 +0200)]
effectv: port edgetv

13 years agoAdd -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings
Tim-Philipp Müller [Tue, 5 Jul 2011 09:12:25 +0000 (10:12 +0100)]
Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings

13 years agogoom: Don't answer lantency queries before negotiation
David Schleef [Mon, 4 Jul 2011 19:58:38 +0000 (12:58 -0700)]
goom: Don't answer lantency queries before negotiation

13 years agoudp: port to new API
Wim Taymans [Mon, 4 Jul 2011 16:15:42 +0000 (18:15 +0200)]
udp: port to new API

13 years agopulse: remove implementsinterface
Wim Taymans [Mon, 4 Jul 2011 16:12:56 +0000 (18:12 +0200)]
pulse: remove implementsinterface

13 years agoalpha: fix caps
Wim Taymans [Mon, 4 Jul 2011 16:10:55 +0000 (18:10 +0200)]
alpha: fix caps

13 years agoalpha: port to new video API
Wim Taymans [Mon, 4 Jul 2011 16:06:48 +0000 (18:06 +0200)]
alpha: port to new video API

13 years agoalpha: more porting
Wim Taymans [Mon, 4 Jul 2011 15:00:34 +0000 (17:00 +0200)]
alpha: more porting

13 years agoport to new video api
Wim Taymans [Mon, 4 Jul 2011 14:09:33 +0000 (16:09 +0200)]
port to new video api

13 years agovideo: port to new video apis
Wim Taymans [Tue, 28 Jun 2011 12:03:43 +0000 (14:03 +0200)]
video: port to new video apis

13 years agojpegdec: avoid crashing on invalid input without components
Mark Nauwelaerts [Mon, 4 Jul 2011 12:30:09 +0000 (14:30 +0200)]
jpegdec: avoid crashing on invalid input without components

13 years agoflv: port to 0.11
Mark Nauwelaerts [Mon, 4 Jul 2011 09:09:19 +0000 (11:09 +0200)]
flv: port to 0.11

* use G_DEFINE_TYPE
* adjust to new GstBuffer
* misc segment and caps changes

13 years agoMerge branch 'master' into 0.11
Mark Nauwelaerts [Mon, 4 Jul 2011 09:48:13 +0000 (11:48 +0200)]
Merge branch 'master' into 0.11

Conflicts:
ext/pulse/pulsesink.c

13 years agoflvmux: pass along segment info to collectpads
Mark Nauwelaerts [Mon, 4 Jul 2011 09:25:28 +0000 (11:25 +0200)]
flvmux: pass along segment info to collectpads

... so it can track this and be subsequently used to determine running time etc.

13 years agoflvdemux: indicate raw format in aac caps
Mark Nauwelaerts [Mon, 4 Jul 2011 09:24:23 +0000 (11:24 +0200)]
flvdemux: indicate raw format in aac caps

13 years agoqtmux: mind requested name for request pad
Mark Nauwelaerts [Mon, 4 Jul 2011 09:07:13 +0000 (11:07 +0200)]
qtmux: mind requested name for request pad

13 years agoavidemux: free scheduling query
Mark Nauwelaerts [Mon, 4 Jul 2011 09:06:54 +0000 (11:06 +0200)]
avidemux: free scheduling query

13 years agopulse: Increase ranks to PRIMARY + 10
David Schleef [Mon, 4 Jul 2011 02:51:32 +0000 (19:51 -0700)]
pulse: Increase ranks to PRIMARY + 10

So that pulsesrc/pulsesink get chosen over other possible PRIMARY
src/sinks by autoaudiosink.  Presumably, if pulse is available, it
is always preferred over another src/sink.

Fixes: #647540.

13 years agomultipartmux: Add \r\n to tail of pushed buffers
David Schleef [Fri, 1 Jul 2011 01:47:48 +0000 (18:47 -0700)]
multipartmux: Add \r\n to tail of pushed buffers

Clients such as Firefox require the \r\n after the payload.

13 years agomatroskademux: avoid looping when searching for clusters
Branko Subasic [Thu, 16 Jun 2011 12:52:51 +0000 (14:52 +0200)]
matroskademux: avoid looping when searching for clusters

Fixes some bugs that results in the demuxer looping when seaching
for clusters in non-finalized files.

https://bugzilla.gnome.org/show_bug.cgi?id=652195

13 years agomultifile: port to 0.10
Mark Nauwelaerts [Thu, 30 Jun 2011 10:30:22 +0000 (12:30 +0200)]
multifile: port to 0.10

* use G_DEFINE_TYPE
* adjust to new GstBuffer
* misc caps handling

13 years agocutter: port to 0.11
Mark Nauwelaerts [Thu, 30 Jun 2011 09:35:21 +0000 (11:35 +0200)]
cutter: port to 0.11

* use G_DEFINE_TYPE
* adjust to new GstBuffer
* minor misc

13 years agoreplaygain: port to 0.11
Mark Nauwelaerts [Thu, 30 Jun 2011 09:17:19 +0000 (11:17 +0200)]
replaygain: port to 0.11

* use G_DEFINE_TYPE
* adjust to new GstBuffer