Commit graph

1087 commits

Author SHA1 Message Date
Wim Taymans
d1b26e1d59 v4l2: disable renegotiation
We can't yet wait for the bufferpool to DRAIN before starting renegotiation so
disable it for now.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682770
2012-09-11 15:41:10 +02:00
Mark Nauwelaerts
fd162372f1 directsoundsink: port to the new GLib thread API 2012-09-11 12:54:41 +02:00
Wim Taymans
497ff16355 update for audio base src api change 2012-09-10 11:32:25 +02:00
Wim Taymans
d154743949 v4l2: remove unused code. 2012-09-06 10:43:52 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Martin Ertsaas
7fcbf88ced osxvideosink: Make osxvideosink use the non-deprecated threading api from glib.
https://bugzilla.gnome.org/show_bug.cgi?id=682446
2012-08-22 11:09:55 +01:00
Huacai Chen
05d4f81834 v4l2: make gst_v4l2_fill_lists() adapt to kernel 3.3+
When do v4l2_ioctl() with VIDIOC_ENUMINPUT fails on some devices,
kernels before 3.3.0 return EINVAL, but newer kernels return ENOTTY.
This patch make those devices work well on kernel 3.3+.

Related kernel commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=07d106d0a33d6063d2061305903deb02489eba20

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Rui Wang <wangr@lemote.com>
Signed-off-by: Jie Chen <chenj@lemote.com>
2012-08-21 23:09:33 +01:00
Matthias Clasen
9f2aa8d47f v4l2: fix build with recent kernels, the v4l2_buffer input field was removed
This was unused apparently and removed in the kernel in commit:

 From 2b719d7baf490e24ce7d817c6337b7c87fda84c1 Mon Sep 17 00:00:00 2001
 From: Sakari Ailus <sakari.ailus@iki.fi>
 Date: Wed, 2 May 2012 09:40:03 -0300
 Subject: [PATCH] [media] v4l: drop v4l2_buffer.input and V4L2_BUF_FLAG_INPUT

 Remove input field in struct v4l2_buffer and flag V4L2_BUF_FLAG_INPUT which
 tells the former is valid. The flag is used by no driver currently.

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

Conflicts:
	sys/v4l2/gstv4l2bufferpool.c
2012-08-09 08:40:33 +01:00
Tim-Philipp Müller
787c314ec3 Silence some 'variable may be used uninitialized' compiler warnings
When compiling with -DG_DISABLE_ASSERT
2012-08-08 11:31:59 +01:00
Andoni Morales Alastruey
6b7f165190 osxvideosink: add a better detection for the main run loop 2012-08-06 10:59:09 +02:00
Xavi Artigas
ec2e962323 directsoundsink: Do not overwrite the DS buffer when testing for AC3 support
https://bugzilla.gnome.org/show_bug.cgi?id=680706

Conflicts:
	sys/directsound/gstdirectsoundsink.c
2012-08-06 10:59:01 +02:00
Wim Taymans
2052cabdc4 fix for allocator API changes 2012-07-09 16:28:41 +02:00
Wim Taymans
16b8e2d171 update for query api changes 2012-07-06 11:50:50 +02:00
Wim Taymans
8eadb9c12c update for query api changes 2012-07-06 11:26:46 +02:00
Wim Taymans
77813e67e1 update for allocation query changes 2012-07-06 11:05:11 +02:00
Руслан Ижбулатов
b64849550d directsoundsink: Fix query function implementation; more debugging 2012-07-04 19:54:55 +02:00
Руслан Ижбулатов
dc2ce73a3e directsoundsink: Fix spec stuff in directsoundsink 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
c38fa466c3 directsoundsink: fix access to invalid pointer in set_volume 2012-07-04 19:54:55 +02:00
Sebastian Dr=C3=B6ge
f72a55319d directsoundsink: Fix caps leaks 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
1c6d1bd29a directsoundsink: fix acceptcaps check 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
ed8ad7bffe directsoundsink: use helper function to check for spdif formats 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
a9dff8adb9 directsoundsink: add support for DTS 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
e815d08342 directsoundsink: force 48000 kHz force AC-3 over spdif 2012-07-04 19:54:51 +02:00
Andoni Morales Alastruey
7d64e16b30 directsoundsink: add support for ac-3 over spdif 2012-07-04 19:54:43 +02:00
Tim-Philipp Müller
b2b3de569a osxvideosink: default to force-aspect-ratio=true 2012-06-29 11:51:30 +01:00
Wim Taymans
56690cf021 v4l2: improve debug 2012-06-26 13:19:02 +02:00
Wim Taymans
77f33e591f Revert "v4l2: free kernel buffers before allocating new ones"
This reverts commit 1b09bc609a.

Seems to make libv4l2 complain, maybe because we call REQBUFS with 0 buffers
before we allocated buffers.
2012-06-26 13:02:13 +02:00
Wim Taymans
1b09bc609a v4l2: free kernel buffers before allocating new ones
See https://bugzilla.gnome.org/show_bug.cgi?id=670257
2012-06-26 12:07:47 +02:00
Wim Taymans
9fd4af2164 v4l2src: improve debug 2012-06-26 12:07:29 +02:00
Wim Taymans
f4e3ae65ab v4l2: setup strides and offsets for all planes 2012-06-26 11:14:59 +02:00
Josep Torra
d2c6cc3a39 osxaudiosink: respect the prefered channel layout
In OSX is allowed to configure the default audio output device,
prefered channel layout and speaker positions through the tool
"Audio MIDI Setup".
2012-06-19 12:55:37 +01:00
Josep Torra
59191412eb osxaudiosink: Add support for SPDIF output
A big refactoring to allow passthrough AC3/DTS over SPDIF.
Several random cleanups and minor fixes.
2012-06-14 08:46:34 +02:00
Hans de Goede
b9676944bb v4l2object: Don't probe UVC devices for being interlaced
UVC devices are never interlaced, and doing VIDIOC_TRY_FMT on them
causes expensive and slow USB IO, so don't probe them for interlaced.

This shaves 2 seconds of the startup time of cheese with a Logitech
Webcam Pro 9000.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677722
2012-06-11 11:23:34 +02:00
Wim Taymans
f65495d405 update for audio api change 2012-06-08 10:11:12 +02:00
Thiago Santos
44d010277c osxvideo: straightforward port to 0.11 2012-06-05 17:53:58 -03:00
Josep Torra
cfd9071f79 osxaudiosink: Handle endianness correctly 2012-06-04 11:54:46 +02:00
Josep Torra
85102c49d5 osxaudiosink: Add support for int audio 2012-06-01 16:38:22 +02:00
Michael Jones
fa95cec825 v4l2: add missing G_END_DECLS
G_BEGIN_DECLS didn't have matching G_END_DECLS

https://bugzilla.gnome.org/show_bug.cgi?id=677165
2012-05-31 13:13:45 +02:00
Josep Torra
bb8cdf4cc5 osxvideosink: Really fix the build on 10.5
The API that we use to run the Cocoa loop in another
thread does not exist in 10.5 or earlier.
2012-05-31 10:26:27 +02:00
Alessandro Decina
f20cdcd36b osxvideosink: fix race in starting the runloop thread
Block gst_osx_video_sink_run_cocoa_loop until the loop thread has started and
finished initializing NSApp. Fixes occasional warnings/crashes due to two
threads going inside NSApp before finishLaunching had completed.
2012-05-31 10:26:10 +02:00
Josep Torra
76b7998e4f osxvideosink: Fix last commit to actually work
MAC_OS_X_VERSION_10_6 is obviously not defined on 10.5.
2012-05-30 16:03:55 +02:00
Sebastian Dröge
88554404e6 osxvideosink: Put the right flags in the right variable 2012-05-30 13:51:35 +02:00
Sebastian Dröge
efab9e6aa3 osxvideosink: NSWindowDelegate is available in all OSX versions newer than 10.6 2012-05-30 12:43:37 +02:00
Josep Torra
c106a3653b osxvideosink: Fix build with older OSX versions 2012-05-30 12:40:57 +02:00
Sebastian Dröge
6bd61f861c configure: Add OBJC specific compiler flags
See bug #643939.
2012-05-30 11:28:33 +02:00
Andoni Morales Alastruey
5b3d3b0885 osxvideosink: make sure all selectors are performed on the same thread
When we are using a dedicated thread to run the main run loop we
must make sure that all selectors are performed on this same thread.
For instance if performSelectorOnMainThread is called from the real
main thread, it will not go through the message queue and will be
executed from the real main thread. By forcing the target thread,
we ensure that all functions will be called either from the real
main thread when the main run loop is running or from our thread
spinning the main loop.
2012-05-25 11:07:35 +02:00
Alessandro Decina
57e43aeb21 osxvideosink: start the loop before calling [gstview haveSuperview]
...as haveSuperview requires the mainloop to be running
2012-05-24 14:36:13 +02:00
Alessandro Decina
dc8de54cce osxvideosink: fix indentation 2012-05-24 14:36:09 +02:00
Alessandro Decina
fdf5fd9f16 osxvideosink: enable running the cocoa main runloop in a thread 2012-05-24 14:36:03 +02:00
Alessandro Decina
718837d914 osxvideosink: add code to optionally run the cocoa main runloop in a separate thread
Add a little hack to run the cocoa main runloop from a separate thread _when_
the main runloop is not being run (which means that the app doesn't use cocoa).
Runloops are thread specific, so the hack boils down to getting the runloop for
the main thread and setting it as the runloop for our dedicated thread.
2012-05-24 14:35:59 +02:00
Alessandro Decina
e3cba62b7e osxvideosink: reset app_started to FALSE when shutting down 2012-05-24 14:35:55 +02:00
Alessandro Decina
645b37e80a osxvideosink: rename cocoa runloop helper funcs 2012-05-24 14:35:51 +02:00
Alessandro Decina
7f576b923a osxvideosink: don't create application menus 2012-05-24 14:35:46 +02:00
Andoni Morales Alastruey
a3cf0ab5f5 osxvideosink: reset the embed property for backward compatilibity 2012-05-24 14:35:42 +02:00
Andoni Morales Alastruey
7cc93e9195 osxvideosink: fix navigation when force-aspect-ratio is activated 2012-05-24 14:35:37 +02:00
Andoni Morales Alastruey
fd19abf9ee osxvideosink: add force-aspect-ratio property 2012-05-24 14:35:32 +02:00
Andoni Morales Alastruey
9b8bfe9b9e osxvideosink: start internal window if no view is provided 2012-05-24 14:35:27 +02:00
Andoni Morales Alastruey
ba5d55dd69 osxvideosink: implement the navigation interface 2012-05-24 14:35:21 +02:00
Andoni Morales Alastruey
088bc6b056 osvideosink: create, destroy, resize and draw from the main thread 2012-05-24 14:35:16 +02:00
Peter Seiderer
65a28698db v4l2src: fix v4l2_std_id logging
input.std is of type v4l2_std_id which is defined as 64-bit unsigned integer.
Casting to uint means the higher bits, wich are used for the private video
standards of the TI video capture/display driver for example, are lost.
2012-05-09 15:12:28 +01:00
Руслан Ижбулатов
cb4f470c7e waveform: No more gstinterfaces
Fixes #675319
2012-05-03 09:33:29 +02:00
Руслан Ижбулатов
ccc0c9c313 directsound: No more gstinterfaces
Fixes #675319
2012-05-03 09:33:29 +02:00
Sebastian Dröge
982148c07c v4l2src: Update for basesrc API changes 2012-05-01 13:33:46 +02:00
Wim Taymans
a473750350 v4l2: improve timestamp code
Sample the pipeline clock and device clock closer to eachother to reduce jitter.
Don't subtract the frame duration from the timestamp when we can use the device
timestamps.
Assume a delay of 1 frame in read-write mode.
2012-04-25 09:41:46 +02:00
Wim Taymans
46045316ce v4l2: use driver timestamps
Use the drive timestamps for timestamping outgoing buffers.
2012-04-24 12:37:33 +02:00
Wim Taymans
eecb9a96a6 v4l2: Improve buffer management
Query the amount of available buffers when doing set_config(). This allows us to
configure the parent bufferpool with the number of buffers to preallocate.
Keep track of the provided allocator and use it when we need to allocate a
buffer in RW mode.
When we are can not allocate the requested max_buffers amount of buffers, make
sure we keep 2 buffers around in the pool and copy them into an output buffer.
This makes sure that we always have a buffer to capture into. We also need to
detect those copied buffers and unref them when they return to the pool.
2012-04-23 18:10:33 +02:00
Wim Taymans
713ddbf541 v4l2: free the queued buffers
Only free the queued buffers that we keep track of in our buffer array. for rw
io-mode, we do allocate buffers but we don't keep track of them in the buffer
array.
2012-04-23 18:10:33 +02:00
Wim Taymans
5d7d4e0d9b v4l2: mark memory as no-share
We don't support sharing our mmapped memory so mark it as NO_SHARE.
2012-04-23 18:10:33 +02:00
Wim Taymans
9fe11d0d11 v4l2: remove old unused file 2012-04-23 18:10:33 +02:00
Wim Taymans
37e7a41771 v4l2: remove unused function 2012-04-23 18:10:33 +02:00
Mart Raudsepp
8719375be7 docs: Add Since tag for new GstV4l2Src::prepare-format signal 2012-04-23 11:24:19 +02:00
Mark Nauwelaerts
a5ff454e6a oss4: port to 0.11 2012-04-20 18:18:54 +02:00
Mark Nauwelaerts
c4c3736e1a oss: port to 0.11 2012-04-20 18:18:54 +02:00
Wim Taymans
f08bab4e86 v4l2: update for video api change 2012-04-19 14:16:01 +02:00
Wim Taymans
85d4dde9d1 v4l2: fix compilation on older v4l2
Fix compilation on systems where the H264 format is not defined.
2012-04-19 12:38:58 +02:00
Sebastian Dröge
04b70571e5 video: Update for libgstvideo API changes 2012-04-19 12:20:59 +02:00
Youness Alaoui
09dabd4be6 v4l2src: Allow mpeg-ts cameras to negociate format
This removes an ugly hack until the reason for the hack can be documented
2012-04-19 10:31:18 +02:00
Sebastian Dröge
e7a76badc5 v4l2src: Fix merge 2012-04-19 09:50:25 +02:00
Sebastian Dröge
deb7cdcdda v4l2src: Rename pre-set-format signal to prepare-format 2012-04-19 09:50:01 +02:00
Youness Alaoui
a63451ecd7 v4l2src: Add H264 encoded stream support to the caps
This is not enough to properly support H264 cameras, but it will
allow an H264 stream to be generated by v4l2src using the default
settings of the camera. If used with the pre-set-format signal, the
H264 encoder can be fully configured.

Conflicts:

	sys/v4l2/gstv4l2object.c
2012-04-19 09:49:33 +02:00
Youness Alaoui
06d64c7792 v4l2src: Adding a pre-set-format signal
In order to support UVC H264 encoding cameras, an H264 Probe&Commit
must happen before the normal v4l2 set-format. This new signal is
meant to allow an external application or bin to do it.
It also serves to expose the file descriptor used by v4l2src in case
some custom ioctls need to be called.

Conflicts:

	sys/v4l2/Makefile.am
	sys/v4l2/gstv4l2src.c
	sys/v4l2/v4l2src_calls.c
2012-04-19 09:45:49 +02:00
Víctor Manuel Jáquez Leal
8c5d8b52ea v4l2: ensure autogenerated files are created
The tuner marshal and enumtypes are autogenerated, and they need
to be created before the compilation of gstv4l2tuner.c

This patch adds the automake instruction for ensuring the
autogeneration of those files previous the compilation.
2012-04-13 17:13:22 +02:00
Sebastian Dröge
d99eb6d2cb Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
Руслан Ижбулатов
f0685dd026 Remove unused variable
Fixes #673859
2012-04-10 22:41:04 +01:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Wim Taymans
3d61d12e03 update for buffer api change 2012-03-30 18:15:34 +02:00
Wim Taymans
e310ee8218 caps: improve caps handling
Avoid caps copy and leaks
2012-03-27 16:42:41 +02:00
Wim Taymans
098d8ceae7 v4l2: update for get_param
Remove const from the GstCaps.
Plug some GstStructure leaks
2012-03-27 12:44:46 +02:00
Wim Taymans
01838ff975 v4l2src: don't error in shutdown
Don't log with the ERROR category when we are stopping because we are shutting
down.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=672824
2012-03-26 16:00:42 +02:00
Wim Taymans
cfe58e7156 v4l2: fix latency 2012-03-26 15:51:28 +02:00
Wim Taymans
fa436c0799 v4l2: called base class start
Chain up to the base class start method so that metadata is properly tagged.
Remove an unused variable.

fixes: https://bugzilla.gnome.org/show_bug.cgi?id=672813
2012-03-26 15:33:59 +02:00
Wim Taymans
c44cd8f55b Merge branch 'master' into 0.11
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850

Conflicts:
	docs/plugins/Makefile.am
	docs/plugins/gst-plugins-good-plugins-docs.sgml
	docs/plugins/gst-plugins-good-plugins-sections.txt
	docs/plugins/gst-plugins-good-plugins.hierarchy
	docs/plugins/inspect/plugin-avi.xml
	docs/plugins/inspect/plugin-png.xml
	ext/flac/gstflacdec.c
	ext/flac/gstflacdec.h
	ext/libpng/gstpngdec.c
	ext/libpng/gstpngenc.c
	ext/speex/gstspeexdec.c
	gst/audioparsers/gstflacparse.c
	gst/flv/gstflvmux.c
	gst/rtp/gstrtpdvdepay.c
	gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Wim Taymans
ced47580b7 update for bufferpool changes 2012-03-15 22:11:17 +01:00
Wim Taymans
f3a770a20c update for allocation query changes 2012-03-15 20:37:56 +01:00
Wim Taymans
6ed3bc109b update for bufferpool api change 2012-03-15 14:06:40 +01:00
Wim Taymans
ecaea36c3d update for memory api changes 2012-03-15 13:36:17 +01:00
Wim Taymans
751fcf035b take padding into account 2012-03-14 19:56:56 +01:00
Wim Taymans
80dca40c35 fix for _do_simplify changes 2012-03-12 10:43:57 +01:00