David Schleef
1c73e77e32
decklink: fix compilation on Linux
2011-08-21 19:06:54 -07:00
David Schleef
e246d92bd5
decklink: Add subdevice property
2011-08-21 19:06:54 -07:00
Joshua M. Doe
cfd68a8e7a
decklink: add support for Windows
...
Builds with MSVC, not tested in MinGW or anything else. Added
COM handling code, borrowed from dshowvideosink. Moved Linux
specific files to ./linux and added Windows specific files to
./win (generated from IDL files in VS9). Added macros to handle
BSTR and defined bool as BOOL. Fixes #655362 .
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-21 19:06:05 -07:00
Joshua M. Doe
8f08c610ec
decklink: improve frame handling
...
Send NEWSEGMENT on start. Send warning instead of error on
dropped frames.
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-21 19:05:00 -07:00
Joshua M. Doe
a18180898f
decklink: fix debugging in capture.cpp by making category extern
...
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-21 19:02:51 -07:00
Joshua M. Doe
c830cf3e66
decklink: use mutexes from glib instead of pthread
...
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-21 18:59:49 -07:00
Wim Taymans
52d48bb142
Merge branch 'master' into 0.11
2011-08-17 19:01:39 +02:00
Alessandro Decina
b6747292e0
qtkitvideosrc: get the framerate from caps
...
...and configure QTKit accordingly. Hardcoding to 30fps was pretty -bad.
2011-08-15 02:10:26 +02:00
Edward Hervey
8132a5d46e
decklink: Add gstdecklink.h to list of headers
2011-08-04 11:29:58 +02:00
Wim Taymans
2ba07782cd
Merge branch 'master' into 0.11
2011-08-04 09:40:46 +02:00
Wim Taymans
01b9b5002f
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst/colorspace/colorspace.c
gst/colorspace/colorspace.h
gst/colorspace/gstcolorspace.c
2011-08-04 09:36:07 +02:00
David Schleef
2b5e8db968
decklink: Add audio-input property
2011-08-03 13:39:33 -07:00
Tim-Philipp Müller
1972c26bde
vdpau: fix some variable-set-but-unused compiler warnings
2011-07-14 23:45:52 +01:00
Olivier Crête
d369f620de
dvb: Fix set-but-unused warnings
2011-07-12 18:15:14 -04:00
David Schleef
5056c34761
decklink: HD modes are square pixels
2011-07-07 11:29:37 -07:00
David Schleef
ab1e013bb8
decklink: properly set up analog input
2011-07-04 16:49:00 -07:00
David Schleef
ae49fa1f78
decklink: Add more modes
2011-07-04 16:48:59 -07:00
Raimo Järvi
59aaf71b0b
d3dvideosink: Fix configure check and makefiles
...
Fixes bug #652035 .
2011-06-25 18:08:45 -07:00
David Schleef
571e95cf10
decklink: update DeckLink API wrappers
2011-06-20 12:49:16 -07:00
David Schleef
16a49a3617
decklink: Add connection type
2011-06-20 12:49:16 -07:00
Rafael Diniz
bb4844b29e
decklinksink: Add audio support
...
Signed-off-by: David Schleef <ds@schleef.org>
2011-06-20 12:49:16 -07:00
David Schleef
1faf410ca3
decklink: Add various features
...
Better mode support, input source property, audio support.
2011-06-20 12:49:16 -07:00
David Schleef
69c930565f
decklink: remove unused code
2011-06-20 12:49:16 -07:00
David Schleef
1e1c16150b
decklink: reindent
2011-06-20 12:49:16 -07:00
Olivier Crête
26f7a1ca66
shm: Improve documentation of internal shmpipe
2011-06-16 19:06:03 -04:00
Wim Taymans
a2b7a672b8
Merge branch 'master' into 0.11
...
Conflicts:
android/aacparse.mk
android/amrparse.mk
android/h264parse.mk
android/metadata.mk
android/qtmux.mk
android/sdpelem.mk
configure.ac
gst/qtmux/gstqtmux.c
win32/common/config.h
2011-06-15 16:06:36 +02:00
Tim-Philipp Müller
a6c4f3ed4e
wininetsrc: don't use G_CONST_RETURN
...
It's going to be deprecated really soon.
2011-06-13 11:12:36 +01:00
Levente Farkas
be60b7d0de
directdrawsink: lower rank to secondary
...
Signed-off-by: David Schleef <ds@schleef.org>
2011-06-05 13:56:41 -07:00
Levente Farkas
be87d62fde
d3dvideosink: compile fix
...
Signed-off-by: David Schleef <ds@schleef.org>
2011-06-05 13:41:46 -07:00
David Schleef
bd30c28315
directdrawsink: Handle pixel-aspect-ratio
...
Fixes : #651779 . From Raimo Järvi.
2011-06-04 19:01:20 -07:00
David Schleef
655e511a5c
d3dvideosink: Add plugin
...
Fixes #651782 . Patch from various authors, by way of ossbuild.
2011-06-04 19:01:16 -07:00
David Schleef
76fad77149
vdpau: remove old glib compatibility code
2011-06-04 14:09:30 -07:00
Debarshi Ray
335293bf50
Remove unused but set variables
...
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-06-04 20:26:02 +01:00
Martin Storsjo
d536b73e25
qtwrapper: Decode audio until all input data is consumed
...
The special return value is returned from our buffer callback
when all input data has been consumed.
2011-05-30 08:46:11 +02:00
Martin Storsjo
02fc41fde5
qtwrapper: Replace the hackish 42 magic number with a define
2011-05-30 08:46:04 +02:00
Julien MOUTTE
efd840bbb7
dshowdecwrapper: Fix COM initialization
...
Fixes bug #625190 .
2011-05-30 08:45:01 +02:00
Julien MOUTTE
378a8d94dc
dshowdecwrapper: Fix element registration using data in the type instead of a global
2011-05-30 08:45:01 +02:00
Vincent Génieux
5616efb0f8
dvbsrc: Add timeout property and use GstPoll instead of poll
...
This allows to use much higher timeout values because GstPoll
is interruptible and keeps the number of wakeups during signal
loss lower.
Fixes bug #608171 .
2011-05-23 16:49:55 +02:00
Stefan Kost
ed0bdc4910
camapplicationinfo: fix possible array overrun
2011-05-20 13:30:40 +03:00
Olivier Crête
58ee65fe20
shm: Make gcc 4.6 happy
...
Remove warnings due to initialized but never used warnings
2011-05-18 16:49:26 -04:00
Brian Gitonga Marete
1962b31046
decklink: Change counters to 64 bit unsigned integers.
2011-05-18 12:07:13 -07:00
Quentin Smith
38681bf1e0
avc: avcsrc is always enabled
2011-05-18 12:06:38 -07:00
Quentin Smith
708e96bef4
avc: Include 200 bus cycles in each buffer (about 300 TS packets)
2011-05-18 12:06:38 -07:00
Quentin Smith
66956d1c96
avc: Emit a single buffer per callback
2011-05-18 12:06:38 -07:00
Quentin Smith
edc93f89e1
avc: Track the number of enqueued and dequeued packets
2011-05-18 12:06:38 -07:00
Quentin Smith
5ce26c5cc7
avc: Dump timestamp information
2011-05-18 12:06:38 -07:00
Quentin Smith
004f2541e4
avc: Save AVC objects in the GstAVCSrc object
...
and stop them when the pipeline is stopped
2011-05-18 12:06:38 -07:00
Quentin Smith
7ac4cd7ef5
avc: Cycle and packet are unsigned
2011-05-18 12:06:38 -07:00
Quentin Smith
9f221469ec
avc: avcsrc is a live source
2011-05-18 12:06:38 -07:00
Quentin Smith
8fe0393105
avc: Look in AVCVideoServices for headers
2011-05-18 12:06:38 -07:00
David Schleef
84fb75ce86
avc: Add AVC Video Services plugin for OS/X
2011-05-18 12:06:37 -07:00
Stefan Kost
79e3b5b4bb
various: fix author tag in element details
2011-05-18 10:31:38 +03:00
Pino Toscano
01b7b10d0b
shm: Don't use PATH_MAX
...
PATH_MAX is not defined on GNU Hurd and others. Also fix
format string.
2011-05-16 09:07:57 +02:00
Alessandro Decina
e21e8ddd4e
applemedia: bump the rank of qtkitvideosrc to PRIMARY
2011-05-15 10:04:50 +02:00
Sebastian Dröge
6acbe18943
dvb: Use the user config dir instead of the cache dir for the channels configuration
2011-05-03 09:55:48 +02:00
Philippe Normand
27c761f43b
dvb: moved dvb-channels.conf to $XDG_CACHE_HOME
2011-05-03 09:54:53 +02:00
Sebastian Dröge
2f74b2d90e
decklink: Add to SUBDIRS
2011-04-28 10:04:18 +02:00
Sebastian Dröge
efc356a2b5
decklink: Remove unused/unneeded CFLAGS/LIBS and move $(LIBM) to LIBADD
2011-04-18 11:46:23 +02:00
Sebastian Dröge
224bb96a53
linsys: Link with libgstbase for basesink/basesrc
...
And remove empty and unused variables.
2011-04-18 11:46:05 +02:00
Sebastian Dröge
8ef0268b9c
decklink: Dist all headers and put them in noinst_HEADERS
2011-04-17 19:16:45 +02:00
Sebastian Dröge
c220e120d7
linsys: Dist all headers and put them in noinst_HEADERS
2011-04-17 19:16:44 +02:00
Reynaldo H. Verdejo Pinochet
290d598748
Remove audioflingersink
...
Remove audioflingersink, it's in gst-android now.
2011-04-14 16:54:18 +01:00
Thibault Saunier
17fd7ebcb4
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:27:11 +02:00
Sebastian Dröge
e30f89fdef
vdpau: Fix uninitialized variable compiler warning
2011-04-09 13:40:37 +02:00
Haakon Sporsheim
5c0922a82d
dshowvideosink: update for latest GstXOverlay changes
...
From xwindow_id to window_handle.
https://bugzilla.gnome.org/show_bug.cgi?id=646955
2011-04-07 23:10:01 +01:00
Vincent Penquerc'h
a34108899e
shmsink: ensure gst_poll_wait is called first on descriptors
...
We need to call gst_poll_wait before calling gst_poll_* status
functions on that new descriptor, so restart the loop, so _wait
will have been called on all elements of self->poll, whether
they have just been added or not. */
2011-04-07 10:03:45 +02:00
Olivier Crête
e30451a0c3
shm: Make default perm u+rw g+r for shm area
2011-03-31 16:21:11 -04:00
Carl-Anton Ingmarsson
b98924208b
vdpausink: fix bug where we didn't setup vdpau on a user set window
2011-03-27 20:09:52 +02:00
Carl-Anton Ingmarsson
bd20e5d077
vdpau: fixup GstFlowReturn handling
...
Previously the different decoders would discard errounous GstFlowReturns coming
from downstream. Now we properly return these further upstream so that we
properly error out on eg. negotiation problems.
2011-03-27 19:51:31 +02:00
Carl-Anton Ingmarsson
5d61545a82
vdpau: small indentation fix
2011-03-27 19:48:20 +02:00
Carl-Anton Ingmarsson
d60c67b2c2
vdpaumpegdec: don't ignore return value of gst_base_video_decoder_finish_frame
2011-03-27 19:48:20 +02:00
Tim-Philipp Müller
f09f27a761
dshow: fix list iteration code
2011-03-27 17:42:56 +01:00
David Schleef
a5cb7912f1
decklink: Fix win32 build
2011-03-24 16:16:38 -07:00
David Schleef
8961f6a900
decklink: Add decklink plugin
...
Source and sink elements for BlackMagic DeckLink SDI cards.
2011-03-23 21:33:49 -07:00
David Schleef
e319b82842
linsys: Add plugin for Linear Systems SDI boards
2011-03-23 21:33:48 -07:00
Olivier Crête
81b0d87746
shm: Don't use "sun" as a variable name, breaks on Solaris
...
Seems like the Solaris compiler has -Dsun=1, so don't use
sun as a variable name
Patch by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>
https://bugzilla.gnome.org/show_bug.cgi?id=645053
2011-03-17 16:41:52 -04:00
Sjoerd Simons
1634a9f262
shmsink: Keep shmsink referenced while there are still buffers around
2011-03-16 18:53:27 +00:00
Sjoerd Simons
ca9d60702f
shm: Allow ShmPipe to save a data pointer for applications
2011-03-16 18:53:19 +00:00
Sjoerd Simons
f6efb3e397
shm: Keep the ShmPipe alive as long as there are blocks left
2011-03-16 18:53:10 +00:00
Olivier Crête
a646afcf88
shmsrc: Only connect to sink in PLAYING in live mode
2011-03-16 18:52:57 +00:00
Olivier Crête
a2b6dfa37e
shmsrc: Keep GstPoll for whole src lifetime
2011-03-16 18:52:57 +00:00
Wim Taymans
92c192852a
vdpau: disable until someone ports it
2011-03-04 13:39:43 +01:00
Mark Nauwelaerts
f96dab44cf
directdrawsink: avoid aspect-ratio borders overlying other windows
...
Fixes #632056 .
2011-02-08 18:02:29 +01:00
Mark Nauwelaerts
edb15598ed
directdrawsink: avoid rendering to invalid area
...
Based on patch by Havard Graff <havard.graff@tandberg.com>
Fixes #594280 .
2011-02-08 18:02:26 +01:00
Tim-Philipp Müller
14375582fa
dvbsrc: fix up enum nick names
...
https://bugzilla.gnome.org/show_bug.cgi?id=591651
2011-02-02 18:41:39 +00:00
Sebastian Dröge
36e037be67
vdpau: Initialize some variables to make gcc 4.6 happy
2011-01-27 17:32:49 +01:00
Rob Clark
f356c4f7de
dvb: fix build errors on macosx
...
fixes the following compile errors:
cc1: warnings being treated as errors
camswclient.c: In function 'cam_sw_client_open':
camswclient.c:81: warning: implicit declaration of function 'strncpy'
camswclient.c:81: warning: incompatible implicit declaration of built-in function 'strncpy'
camswclient.c:89: warning: implicit declaration of function 'strerror'
camswclient.c:89: warning: nested extern declaration of 'strerror'
camswclient.c:89: warning: format '%s' expects type 'char *', but argument 9 has type 'int'
camswclient.c: In function 'send_ca_pmt':
camswclient.c:129: warning: implicit declaration of function 'memcpy'
camswclient.c:129: warning: incompatible implicit declaration of built-in
function 'memcpy'
gstdvbsrc.c:48:19: error: error.h: No such file or directory
Signed-off-by: Rob Clark <rob@ti.com>
2011-01-03 17:12:44 -06:00
Stefan Kost
e0e679dba9
README: fix the example pipeline
...
Fix the obvious outdated parts. Still this README looks outdated and should be
updated or removed.
2011-01-03 18:15:43 +02:00
Leo Singer
369f41913c
applemedia: fix compiler warning: redundant declaration of 'parent_class'
...
GST_BOILERPLATE_FULL declares parent_class as well.
https://bugzilla.gnome.org/show_bug.cgi?id=637532
2010-12-18 21:32:36 +00:00
Francis Rammeloo
6792b0fb16
gdiscreencapsrc: fix memory leak
...
Structure members of ICONINFO struct filled by GetIconInfo() must
be deleted when no longer needed according to the API reference.
https://bugzilla.gnome.org/show_bug.cgi?id=611428
2010-12-13 23:17:56 +00:00
Ole André Vadla Ravnås
f3d8e3920d
applemedia: only enqueue buffers in the VideoToolbox callbacks
...
These callbacks may fire from any thread, hence we should only enqueue
buffers and let the streaming thread take care of the rest as soon as
the blocking encode or decode operation has finished.
2010-12-10 04:07:05 +01:00
Ole André Vadla Ravnås
f7e5878c9e
applemedia: bring back Leopard compatibility
...
At least as far as miovideosrc is concerned. Turns out that CoreVideo's
CVPixelBufferGetIOSurface is not present in Leopard's version of CoreVideo.
We solve this by making it possible for symbols to be marked as optional.
2010-12-10 04:06:59 +01:00
Christian Berentsen
6cf92cd25c
winks: fix framerate fraction range mapping
...
Min and max may be slightly different but compress to the same fraction.
2010-12-10 04:06:53 +01:00
Alessandro Decina
0b6e0b7b13
qtkitvideosrc: reset the queue condition to NO_FRAMES in unlockStop.
...
Fixes a segfault in create: when going PLAYING -> PAUSED -> PLAYING.
2010-12-09 12:04:10 +01:00
Alessandro Decina
ec6c307334
qtkitvideosrc: run the mainRunLoop for a while if not running.
...
QTCaptureSession::addInput and QTCaptureSession::addOutput call
NSObject::performSelectorOnMainThread internally so they need the mainRunLoop to
run at least for a while to complete.
2010-12-09 11:55:57 +01:00
Benjamin Gaignard
b4ff7c94d7
sys: Add android audioflingersink
2010-12-03 17:46:27 +01:00
Alessandro Decina
536a30f2df
applemedia: don't use the deprecated g_strcasecmp function.
...
Replace g_strcasecmp with g_ascii_strcasecmp.
2010-12-01 23:21:33 +01:00
Alessandro Decina
aae72680bd
Fix compiler warnings with gcc 4.2.1 on OSX.
2010-12-01 23:20:36 +01:00
Olivier Crête
ecb7674640
shm: Don't pass the ShmPipe to the function closing the shm area
2010-11-24 19:12:10 -05:00
Olivier Crête
56c4a9b692
shm: Use the right counter when freeing buffers
2010-11-24 19:12:10 -05:00
Olivier Crête
a770d7a707
shmalloc: Manually decide to use GLib or not in the shmalloc
...
So make it easier for embedders to use it with or without Glib
2010-11-24 19:12:10 -05:00
Olivier Crête
01f1cc20d7
shm: Remove duplicated arguement
2010-11-24 19:12:10 -05:00
Olivier Crête
70b8d2ab93
shm: Fix socket leak on connect() error
2010-11-24 19:12:10 -05:00
Olivier Crête
225bc1dd0b
shm: sp_client_recv returns negative on error, so make the retval signed
2010-11-24 19:12:10 -05:00
Olivier Crête
2aaf51af49
shm: Rename confusingly named variable
2010-11-24 19:12:10 -05:00
Olivier Crête
de9905db03
shm: Change permissions on old shm areas too
...
Change the permissions on old shm areas
2010-11-24 19:12:10 -05:00
Olivier Crête
0b99919c55
shm: Use the macro for the last error too
2010-11-24 19:12:10 -05:00
Olivier Crête
a533c30ab8
shm: Use "ablock" for all ShmAllocBlock variables
...
Use the ablock variable name for ShmAllocBlocks and block for
ShmBlock
2010-11-24 19:12:10 -05:00
Olivier Crête
b14a0d64ec
shm: Add more comments
2010-11-24 19:12:10 -05:00
Youness Alaoui
768319b866
shm: stylist improvements
2010-11-24 19:12:10 -05:00
Youness Alaoui
a7b27bc2d0
shm: Explain some fields
...
Explain what some of the fields in the allocator actually mean
2010-11-24 19:12:10 -05:00
Andoni Morales Alastruey
7c43c2fa06
dvbbasebin: Add TDT to the initial pids filter for dvbsrc. Fixes #635200 .
2010-11-19 18:04:12 +01:00
Ole André Vadla Ravnås
abdb30c567
celvideosrc: fix nasty deadlock
...
We cannot call any CMBufferQueue functions while holding the lock that
our callback also depends on. So now we make use of CMBufferQueue's
trigger API in order to get notified when the queue has data.
2010-11-12 00:44:42 +01:00
Ole André Vadla Ravnås
de76e9fdb6
cmapi: cover CMBufferQueue's trigger API
2010-11-12 00:44:42 +01:00
Ole André Vadla Ravnås
e4db4257d5
celvideosrc: unlock should also notify
...
Otherwise we depend on being woken up by the CoreMedia queue getting
its next buffer.
2010-11-12 00:44:42 +01:00
Ole André Vadla Ravnås
ebd2a6d6e9
applemedia: don't push synchronously from callback
...
The codec that called us might be holding locks to shared resources, so
we should never push downstream from within its buffer callback.
Note that a GstBufferList is not used here because we need to preserve
the buffer metadata held by our GstBuffer subclasses.
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås
6b63954f63
vtenc: bump H.264 level from 1.3 to 3.0
...
This should be turned into a property.
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås
6e909dc474
celvideosrc: add basic device selection support
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås
2382f10b98
cvapi: add wrapper for IO surface access
...
To be used in a future video sink for zero-copy rendering.
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås
420943972c
celapi: add capture port type constants
2010-11-11 00:22:31 +01:00
Ole André Vadla Ravnås
d10e029f51
applemedia: biplanar is actually NV12, not I420
...
D'oh!
2010-11-08 23:58:25 +01:00
Ole André Vadla Ravnås
d865feca82
vtenc: remove keyframe enforcement workaround
...
Was only needed for old iOS where the H.264 encoder didn't support
kVTEncodeFrameOptionKey_ForceKeyFrame.
2010-11-08 23:58:25 +01:00
Ole André Vadla Ravnås
abba3a4126
cvapi: add a few extra bits of wrapping
2010-11-08 23:58:25 +01:00
Ole André Vadla Ravnås
b4654f537f
applemedia: lock CVPixelBuffer read-only
...
As per Apple's docs, this may improve performance by avoiding redundant
invalidations of existing caches of the buffer contents.
2010-11-08 23:58:24 +01:00
Ole André Vadla Ravnås
6428d306ea
celvideosrc: put planar first in template caps
2010-11-08 14:02:50 +01:00
Ole André Vadla Ravnås
c2672f71cd
applemedia: improve vtenc/vtdec performance
...
Profiling of H.264 encode and decode revealed that conversions
between packed and planar were happening behind the scenes.
Hence we now choose I420 instead of YUY2.
2010-11-08 14:02:50 +01:00
Ole André Vadla Ravnås
1eb9190ad9
celvideosrc: measure fps when statistics is enabled
...
Also refactor timestamping slightly.
2010-11-05 16:52:58 +01:00
Ole André Vadla Ravnås
b7368c34fd
celvideosrc: update to new Celestial and MediaToolbox APIs
...
This means celvideosrc is no longer compatible with iOS 3.x.
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås
bf095e891f
celvideosrc: fix debug category description
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås
517f3a75c2
celapi: update to reflect new API on iOS 4.x
...
Also add remaining property constants for device and stream.
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås
da5da05540
mtapi: update to reflect new API on iOS 4.x
...
Also add remaining property constants for device and stream.
2010-11-05 15:32:37 +01:00
Ole André Vadla Ravnås
8402211bac
applemedia: make video source element details consistent
...
Inspired by the v4l2src element details.
2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås
445d7502c4
applemedia: consistently use gst_element_class_set_details_simple
2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås
5d71ad0d52
celvideosrc: update e-mail address
2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås
44df8abea8
applemedia: rename iphonecamerasrc to celvideosrc
...
This is in order to improve consistency with the other three sources.
2010-11-04 19:27:25 +01:00
Ole André Vadla Ravnås
8b22f855ec
avfvideosrc: don't explicitly empty the buffer queue
...
We're holding the only reference to it so there's no need to explicitly
empty it right before letting go of our reference.
2010-11-04 17:58:59 +01:00
Ole André Vadla Ravnås
89e5b60130
avfvideosrc: make buffer offset start from zero
2010-11-04 17:52:05 +01:00
Ole André Vadla Ravnås
86e2539816
qtkitvideosrc: implement zero-copy by using buffer-factory
...
This means we'll wrap each CoreVideo buffer inside a GstBuffer instead of
making a copy.
2010-11-04 17:52:05 +01:00
Ole André Vadla Ravnås
835b2988b6
bufferfactory: add support for wrapping CVBuffer
2010-11-04 17:52:05 +01:00
Ole André Vadla Ravnås
3a44d4c1f9
qtkitvideosrc: fix up refcounting
...
Should keep a strong reference to the device, but we don't need to manage
the reference count of elements of an NSMutableArray as it takes care of
that for us.
2010-11-04 17:52:04 +01:00
Ole André Vadla Ravnås
b39609b405
qtkitvideosrc: simplify timestamping algorithm
...
Aligning timestamps on duration boundaries, skipping frames and so forth
are clearly things that fall outside the scope of a video source.
2010-11-04 17:52:04 +01:00
Ole André Vadla Ravnås
3ba76f825d
applemedia: add new iOS video source based on AVFoundation
...
This element makes use of the documented AVFoundation framework made
available starting with iOS 4.0, and hence this means we can finally
capture video using a public API.
2010-11-04 14:32:10 +01:00
Ole André Vadla Ravnås
50c6e05924
applemedia: fix stream-format caps used for H.264
...
The stream-format's "avc-sample" member is now called just "avc".
2010-11-04 14:32:09 +01:00
Ole André Vadla Ravnås
b873920eaa
applemedia: update e-mail addresses
2010-11-04 14:32:09 +01:00
Ole André Vadla Ravnås
c6b32b42de
applemedia: switch vtapi to CFTypeRef style typedefs
2010-11-02 23:14:26 +01:00
Ole André Vadla Ravnås
2e349576eb
applemedia: support public version of CoreMedia
...
Also rename the relevant API so we mirror the public API more closely, and
switch to CoreFoundation CFTypeRef style typedefs. We still support the old
private CoreMedia in order to not break OS X support.
This means that vtenc and vtdec are now compatible with iOS 4.x, and in
theory also future versions of OS X, where this API may turn public like
it has on iOS.
2010-11-02 23:14:26 +01:00
Ole André Vadla Ravnås
cc1c6ee9e3
winks: work around shutdown deadlock
...
GetOverlappedResult() might never return with some drivers. Time out
after 1000 ms. We cannot really fix this without either:
1) Controlling the streaming thread so we can do CancelIo() from that
thread.
2) Switch to using IO completion ports.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
a7a04fe601
winks: remove JPEG validation hack
...
This should clearly not be done in a video source.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
35ed06fba2
winks: set PrioritySubClass to KSPRIORITY_NORMAL instead of 1
...
In order to match the reference implementation.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
c1d16c4fee
winks: retry when KsCreatePin fails with ERROR_NOT_READY
...
Turns out that the reference implementation does this, hence we need to
mirror this behaviour. This typically happens with hardware that takes
some time to initialize.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
bb17394e76
winks: improve framerate fraction conversions
...
* For instance 7.5 fps should be represented as 15/2 instead of 7/1.
* Clamp AvgTimePerFrame and dwBitRate to account for rounding errors.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
d282a1d380
winks: improve error-handling
...
Most important part here is special-casing "device busy" so the application
is able to provide better feedback when another application is using the
device.
2010-10-28 17:08:41 +02:00
Ole André Vadla Ravnås
cddfa50d92
winks: performance improvements
...
* Make the driver write directly into each GstBuffer to avoid memcpy().
* Don't memset() the buffer before reusing it.
* Recycle memory by keeping two spare buffers. Two because the sink
downstream may keep a ref to the previous buffer.
Note that we align buffers on highest possible byte boundary (4096) so we
don't have to take into account what kind of alignment the driver requires.
2010-10-28 17:08:35 +02:00
Ole André Vadla Ravnås
f2b4d8990d
winks: store priv pointer instead of looking it up
2010-10-28 17:08:35 +02:00
Ole André Vadla Ravnås
00bc7860ff
winks: post error message on flow-unexpected
2010-10-28 17:08:35 +02:00
Andres Colubri
700f70e7a5
winks: add property probing support
2010-10-28 17:08:35 +02:00
Ole André Vadla Ravnås
2cf589b928
winks: sort devices that look like cameras first
2010-10-28 17:08:31 +02:00
Knut Inge Hvidsten
a54972f806
winks: provide guessed pixel-aspect-ratio in caps
2010-10-28 17:08:31 +02:00
Ole André Vadla Ravnås
a5beb0b8ff
winks: only try to change state when actually open
2010-10-28 17:08:31 +02:00
Ole André Vadla Ravnås
1f6a6d2430
winks: ignore unsupported formats
2010-10-28 17:08:27 +02:00
Ole André Vadla Ravnås
b88b25ab9b
winks: adjust a couple of logging severities
...
Should clearly not be considered warnings, as they're quite common.
2010-10-28 16:14:34 +02:00
Ole André Vadla Ravnås
0e4e351b83
applemedia: New plugin for Apple multimedia APIs
...
Provides the following elements:
qtkitvideosrc: OS X video source relying on the QTKit API. Comes with
hard-coded caps as the API does not provide any way of querying for
formats supported by the hardware. Hasn't been tested a lot, but seems
to work.
miovideosrc: OS X video source which uses the undocumented/private
CoreMediaIOServices API, which is also the one used by iChat.
Present on latest version of Leopard and all versions of Snow Leopard.
Has been tested extensively with built-in cameras and TANDBERG's
PrecisionHD USB camera.
vtenc, vtdec: Generic codec wrappers which make use of the undocumented/
private VideoToolbox API on OS X and iOS. List of codecs are currently
hard-coded to H.264 for vtenc, and H.264 + JPEG for vtdec. Can easily be
expanded by adding new entries to the lists, but haven't yet had time to
do that. Should probably also implement probing as available codecs depend
on the OS and its version, and there doesn't seem to be any way to
enumerate the available codecs.
vth264decbin, vth264encbin: Wrapper bins to make it easier to use
vtdec_h264/vtenc_h264 in live scenarios.
iphonecamerasrc: iPhone camera source relying on the undocumented/private
Celestial API. Tested on iOS 3.1 running on an iPhone 3GS. Stops working
after a few minutes, presumably because of a resource leak. Needs some
love.
Note that the iOS parts haven't yet been ported to iOS 4.x.
2010-10-28 15:08:08 +02:00
Tim-Philipp Müller
ad0781a7d4
directdrawsink: port GstXOverlay bits to new API
...
Don't use deprecated API.
2010-10-12 16:17:54 +01:00
Damien Lespiau
2833cc4375
dvbsrc: Fix example usage, bandwidth=8 not 8MHz
...
The bandwidth property is enum that takes the values 8, 7, 6, AUTO not
8MHz.
2010-10-10 14:54:45 +01:00
Olivier Crête
b7143de618
shm: Add C++ protection
...
Add c++ protection in the relevant places
2010-10-08 17:01:29 -04:00
Sebastian Dröge
c5023baecf
vdpau: Check return values of the bitreader functions
2010-10-03 15:55:22 +02:00
Edward Hervey
849d3ec371
vdpau: Use the new XOverlay API
...
Fixes #630254
2010-09-21 16:31:46 +02:00
Sebastian Dröge
51e083fe8d
dshowdecwrapper: Don't use GST_FLOW_IS_FATAL()
...
And don't error out on UNEXPECTED
2010-09-21 12:29:06 +02:00
Carl-Anton Ingmarsson
b2ce3aab96
vdpauvideopostprocess: set new framerate on output caps instead of input caps
...
It's not allowed to change the caps provided by the setcaps function.
https://bugzilla.gnome.org/show_bug.cgi?id=628326
2010-09-06 12:25:48 +02:00
Carl-Anton Ingmarsson
709a65cddf
vdpauh264dec: parse "pixel-aspect-ratio" from stream
2010-09-05 13:52:40 +02:00
Carl-Anton Ingmarsson
5c03466309
vdpau: remove non working unused code from GstBaseVideoDecoder
2010-09-05 13:52:40 +02:00
Carl-Anton Ingmarsson
f2fb66d376
vdpau: GstBaseVideoDecoder set default par to 1/1
2010-09-05 13:52:40 +02:00
Carl-Anton Ingmarsson
885845a678
vdpau: remove gst_base_video_decoder_get_current_frame
...
we now pass the current frame to GstBaseVideoDecoder::parse_data
also fixup some errors in vdpaumpeg4dec so that it now gives correct output
2010-09-05 13:52:40 +02:00
Carl-Anton Ingmarsson
08e6a65f08
vdpau: rework GstBaseVideoDecoder timestamping
...
timestamps are now chosen in the following order:
upstream -> parsed by decoder -> calculated from timestamp offset
we also check the timestamps supplied from upstream/decoder to see if they
atleast is increasing.
2010-09-05 13:52:40 +02:00
Carl-Anton Ingmarsson
624c50bac6
vdpau: fix invalid unref
2010-09-05 13:52:40 +02:00
Carl-Anton Ingmarsson
629b6ff099
vdpaumpeg4dec: fix typo in default_non_intra_quant_matrix
2010-08-09 00:36:01 +02:00
Carl-Anton Ingmarsson
8612a936ec
vdpau: add mpeg4 part2 decoder
2010-08-09 00:36:01 +02:00
Tim-Philipp Müller
e2571b9f46
dvbsrc: align actual default values for properties with defaults in param spec
...
https://bugzilla.gnome.org/show_bug.cgi?id=621404
2010-08-06 11:28:11 +01:00
Carl-Anton Ingmarsson
b6f22c519d
vdpau: fix destruction of GstVdpDevice when it failed to open
...
only close display in finalize and check if vdp_decoder_destroy is available
before we use it
2010-08-06 12:14:30 +02:00
Carl-Anton Ingmarsson
8996b80d62
vdpausink: use separate mutex for device locking
...
we can't use GST_OBJECT_LOCK since that cause problems when we try to post
errors, due to gst_element_post_message also taking the GST_OBJECT_LOCK
2010-08-06 12:14:30 +02:00
Andoni Morales Alastruey
c2c32fe773
dshowvideosink: close our own window when changing the window id
...
If we created the window, it needs to be closed after setting a new
window id.
https://bugzilla.gnome.org/show_bug.cgi?id=574290
2010-08-06 10:21:48 +01:00
Raimo Jarvi
7ab007bafe
dshowvideosink: allow changing window ID whilst in PLAYING state
...
https://bugzilla.gnome.org/show_bug.cgi?id=574290
2010-08-06 10:20:19 +01:00
Carl-Anton Ingmarsson
8f47c060d7
vdpau: set back plugin ranks to GST_RANK_NONE
...
the previous change was not meant to slip in
2010-08-02 18:33:46 +02:00
Carl-Anton Ingmarsson
008a049b20
vdpau: slightly fix GstBaseVideoDecoder timestamping
...
clear timestamps on flush and properly calculate the frame's end offset
2010-08-02 18:25:43 +02:00
Carl-Anton Ingmarsson
a07cee756a
vdpau: init debug category in gst_vdp_video_buffer_get_type
2010-08-02 18:25:43 +02:00
Carl-Anton Ingmarsson
b37869c315
vdpau: add error reporting to device creation
2010-07-30 22:27:49 +02:00
Carl-Anton Ingmarsson
57e05fdc76
vdpau: fix small typo in GstBaseVideoDecoder
2010-07-30 16:54:40 +02:00
Carl-Anton Ingmarsson
2282e9f5df
vdpau: use gst_vdp_yuv_to_video_caps in GstVdpVideoSrcPad to transform set caps
...
this way we'll keep other all other fields in the caps which we didn't take in
account when we manually created the "video/x-vdpau-video" caps
2010-07-30 14:47:43 +02:00
Carl-Anton Ingmarsson
472cdc4c61
vdpau: rename gst_vdp_video_buffer_parse_yuv_caps and move it to gstvdputils.h
2010-07-30 14:44:09 +02:00
Carl-Anton Ingmarsson
726290de21
vdpau: GstVdpOutputSrcPad use gst_pad_alloc when outputting video/x-raw-rgb
...
we implement "acceptcaps" to prevent us from getting a buffer with different
width and height from what we requested.
2010-07-30 14:07:22 +02:00
Carl-Anton Ingmarsson
ac8dfbea82
vdpau: properly remove "chroma-type" field from transformed caps
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
aa193a7b43
vdpauvideopostprocess: use GstVdp[Video|Output]BufferPool to cache our buffers
...
This way we'll reuse the GstVdp[Video|Output]Buffers if they're of the same
size and chroma-type/rgba-format.
Also remove gst_vdp_output_src_pad_negotiate and set a "setcaps" function on
GstVdpOutputSrcPad instead, leaving negotiation to GstVdpVideoPostProcess.
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
57175ece9e
vdpausink: use GstVdpOutputBufferPool to alloc our buffers
...
This way we'll reuse our GstVdpOutputBuffers if they're of the same size and
rgba-format
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
c0e1fba089
vdpau: use GstVdpVideoBufferPool in GstVdpVideoSrcPad
...
We also don't pad_alloc our GstVdpVideoBuffers anymore since we don't support
downstream negotation anyway.
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
2d9132c590
vdpau: add GstVdpOutputBufferPool
...
GstVdpVideoOutputPool is a subclass of GstVdpBufferPool that caches
GstVdpOutputBuffers
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
d82c4acd8a
vdpau: add GstVdpVideoBufferPool
...
GstVdpVideoBufferPool is a subclass of GstVdpBuffer that caches
GstVdpVideoBuffers
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
7320eedc04
vdpau: add GstVdpBufferPool base class
...
GstVdpBufferPool will be used to cache GstVdp[Video|Output]Buffers since
creating these can be a costly operation on some hardware.
2010-07-30 11:33:13 +02:00
Carl-Anton Ingmarsson
093fcacc20
vdpau: remove GstVdpOutputSrcPad "template-caps" property
...
instead we do as GstVdpVideoSrcPad and use the "templ" property of GstPad,
which enable us to change the signature of gst_vdp_output_src_pad_new to match
gst_pad_new_from_template
2010-07-30 11:32:00 +02:00
Carl-Anton Ingmarsson
5626857ac4
vdpau: remove GstVdpOutputSrcPad code to retrieve the device from downstream
...
we now no longer try to get the GstVdpDevice from downstream since it in
practice didn't give us anything and complicates the code alot. Nevertheless if device
distribution should be done there's probably a lot better ways to do it.
Instead we now simply aquire the device in vdpauvideopostprocess when we're
going into PAUSED.
2010-07-30 11:31:59 +02:00
Carl-Anton Ingmarsson
00ad3c8aeb
vdpau: cleanup GstVdpDecoder opening of it's GstVdpDevice
...
we now no longer try to get the GstVdpDevice from downstream since it in
practice didn't give us anything and complicates the code alot. Nevertheless if device
distribution should be done there's probably a lot better ways to do it.
2010-07-30 11:31:59 +02:00