Sebastian Dröge
6392dfc072
sys: Update for caps/pad template related API changes
2011-05-17 13:06:01 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
330456456e
v4l: Make sure to return a subset of the filter caps in getcaps
2011-05-16 17:44:44 +02:00
Wim Taymans
a477837ffe
v4lsrc: fix for new getcaps function
2011-05-16 17:30:36 +02:00
Sebastian Dröge
8d6e2c8a89
xvimagesink: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Sebastian Dröge
6ed5013733
ximagesink: Update for negotiation related API changes
2011-05-16 15:35:28 +02:00
Sreerenj Balachandran
cf3cc57ca7
xvimagesink: Use GST_BOILERPLATE
2011-05-14 11:42:32 +02:00
Wim Taymans
c81b1b8019
-base: remove metadata (des)serialize functions
2011-05-11 19:12:42 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Sebastian Dröge
061c4eb9e3
ximagesink: Send reconfigure event upstream if the window geometry changes
2011-05-05 15:23:24 +02:00
Sebastian Dröge
092438200c
ximagesink: Add caps with the current window geometry to the top in getcaps
2011-05-05 15:23:17 +02:00
Wim Taymans
abcbef287d
plugins: fix for allocation query API change
2011-05-02 11:11:33 +02:00
Wim Taymans
86a4771f8e
remove buffer_alloc
2011-04-29 13:28:17 +02:00
Wim Taymans
c952567bb6
xvimagesink: implement ALLOCATION query
2011-04-29 12:09:38 +02:00
Wim Taymans
09d2625045
v4l: use G_DEFINE_TYPE
2011-04-19 16:40:02 +02:00
Sebastian Dröge
8336e2027d
sys: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 11:44:14 +02:00
Sebastian Dröge
0759ce8533
Merge branch 'master' into 0.11
2011-04-18 13:23:32 +02:00
Sebastian Dröge
75c337c726
x(v)imagesink: If NULL caps are passed to buffer_alloc() do fallback allocation
...
Fixes bug #647857 .
2011-04-18 11:24:57 +02:00
Wim Taymans
c8fee4a4b3
ximage: don't share the memory
...
We can't share the memory on the buffer with other buffers because the metadata
X(v)Image points to it and we don't want it to go away.
2011-04-07 16:07:57 +02:00
Wim Taymans
1999e73759
xvimagesink: make the show_frame function prettier
2011-04-06 19:21:02 +02:00
Wim Taymans
1ae67927cc
ximage: more fixes
2011-04-06 17:54:28 +02:00
Wim Taymans
4007076b55
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Wim Taymans
518ededd16
ximage: more fixes
2011-04-06 16:26:12 +02:00
benjamin gaignard
15c49a4d63
xvimagesink: use bufferpool
...
Improve bufferpool handling in ximagesink.
Implement bufferpool handling on xvimagesink.
Based on patches from benjamin gaignard <benjamin.gaignard@linaro.org>
2011-04-06 12:28:46 +02:00
Stefan Kost
38aba7853e
xvimagesink: don't paint the window black when going to NULL
...
Leave dealing with the appearance of the window when we are not playing to the
applications. We anyway want to go to NULL as quickly as possible.
Fixes #635800
2011-04-05 11:37:01 +03:00
Wim Taymans
5244770775
plugins: fix for new memory API
2011-03-27 17:16:10 +02:00
Wim Taymans
f246c0e97d
meta: update for new API
2011-03-08 17:01:41 +00:00
Wim Taymans
92f9995d98
ximagesink: make metadata methods more like core
2011-03-04 18:32:53 +01:00
Wim Taymans
825c650964
ximagesink: reset the pool
2011-03-04 16:21:55 +01:00
Wim Taymans
e993bde873
ximagesink: implement buffer_alloc from the pool
...
Use the bufferpool for pad_alloc when we are asked for the same caps as the
bufferpool.
2011-03-04 16:21:54 +01:00
Wim Taymans
ea05fe1278
ximage: rewrite the buffer pool in ximagesink
...
Rewrite the pooling in ximagesink to extend from the bufferpool base class in
core. Move some code to a comon place and refactor.
2011-03-04 16:21:54 +01:00
Wim Taymans
c7c8f3e13d
meta: fix for new API
2011-02-28 11:50:04 +01:00
Wim Taymans
ce7498e7c3
ximagesink: experiment with convenience macros
2011-02-28 11:50:04 +01:00
Wim Taymans
a1a237d0ea
ximage: fix macros
2011-02-28 11:50:04 +01:00
Wim Taymans
08bfcad434
ximage: reimplement buffer pooling with metadata
...
Use the buffer metadata to get back to the extra info we can use to optimize the
video rendering.
2011-02-28 11:50:04 +01:00
Wim Taymans
55c9ca592f
metadata: implement extra buffer data with metadata
...
Use buffer metadata to attach arbitrary extra data to buffers.
2011-02-28 11:50:04 +01:00
Wim Taymans
fc06cf80c9
v4l: use buffer private data for extra buffer info
...
Since we can't subclass anymore, use the owber_priv pointer for storing extra
info for the buffer.
2011-02-28 11:50:04 +01:00
Wim Taymans
e78903e662
X11: port imagesinks to new miniobjects
...
Remove the subbuffer from X11 sinks and use the private pointer to store a
single buffer metadata with the extra info.
2011-02-28 11:50:04 +01:00
Gavin Stark
b00f8a5b36
xvimagesink: Use gst_caps_can_intersect() instead of gst_caps_intersect()
...
Fixes a memory leak and bug #636827 .
2010-12-09 08:40:25 +01:00
Sebastian Dröge
d5499f5556
v4l: If no video tuner is the requested one don't read unitialized data
2010-12-02 19:04:28 +01:00
Sebastian Dröge
334a739083
ximagesink: Add docs for the new property
...
Including Since markers
2010-12-02 19:04:28 +01:00
Sebastian Dröge
28da26e670
xvimagesink: Add docs for the new property
...
Including Since markers
2010-12-02 19:04:28 +01:00
Sebastian Dröge
f8f1aa2160
xvimagesink: Use PROP_ instead of ARG_ for the property enums
2010-12-02 19:04:28 +01:00
Andrea Sebastianutti
72d6f7f4d6
xvimagesink: Add read-only properties window-width and window-height
2010-12-02 19:04:27 +01:00
Andrea Sebastianutti
2ad9966163
ximagsink: Add read-only properties window-width and window-height
2010-12-02 19:04:27 +01:00
Sebastian Dröge
96006aded8
xvimagesink: Make sure that the caps for upstream negotiation are simple caps
...
Fixes bug #631774 .
2010-10-10 18:35:54 +02:00
René Stadler
578a7ef950
xvimagesink: allow render rectangle coordinates to be negative
...
Useful for cropped zooming.
2010-09-28 15:20:37 +03:00
David Schleef
6dc02137fb
xoverlay: Add guintptr versions of functions
...
And deprecate the gulong versions. This is to support platforms
where sizeof(unsigned long) < sizeof(void *). Fixes #627565 .
API: Add gst_x_overlay_set_window_handle()
API: Deprecate: gst_x_overlay_set_xwindow_id()
API: Add gst_x_overlay_got_window_handle()
API: Deprecate: gst_x_overlay_got_xwindow_id()
API: Add GstXOverlay::set_window_handle()
API: Deprecate: GstXOverlay::set_xwindow_id()
2010-09-15 00:10:23 -07:00
Sebastian Dröge
59ba05a95d
xvimagesink: Suggest caps with different width/height if bufferalloc is called with impossible width/height
2010-08-11 18:10:45 +02:00
Sebastian Dröge
2a08bcc53f
xvimagesink: It's not a bad thing if the preferred video format needs less bytes per frame
2010-08-11 18:10:44 +02:00
Philippe Normand
0ee588a3a6
ximagesink: Ask pad peer to accept new caps once only
...
In buffer_alloc, if the buffer caps are new, call
gst_pad_peer_accept_caps once only, it's useless to call it in the
cases where we know it will always fail.
Fixes bug #621190
2010-06-18 06:11:36 +02:00
Sebastian Dröge
6914986cb3
ximagesink: Check if the X context is allocated before using it
...
It should be allocated at these places already or the state changes
would have failed... but better add an additional check here.
2010-05-10 12:44:41 +02:00
Sebastian Dröge
df5c772c44
ximagesink: Post an error message on the bus if no supported pixmap formats can be found
...
Might fix bug #615851 .
2010-05-10 12:28:29 +02:00
Stefan Kost
f5469d42de
x(v)imagesink: use gst_caps_can_intersect() more
...
In place where we just need to know whether caps intersect, we can use this
quicker function.
2010-05-06 08:22:36 +03:00
Stefan Kost
6c51803dc8
x(v)imagesink: gracefully handle ximagesink>xwindow == NULL
...
Expose could be called before we have set the xwindow. Handle this gracefully
like we do in image_put.
Fixes #615789
2010-04-16 15:52:26 +03:00
Stefan Kost
656573757e
ximagesink: refactor _update_geometry()
...
Refactor like in xvimagesink. Remove the extra parameter and adjust the assert check.
2010-04-16 15:52:25 +03:00
Stefan Kost
3ec87ee221
xvimagesink: init geometry when setting new xid
...
Don't rely on expose event to query geomentry after new xid is set.
Fixes #615647 .
2010-04-14 15:19:19 +01:00
Tim-Philipp Müller
e1f38a685b
build: build plugin and example directories in parallel if make -jN is used
...
We know our plugins and examples are independent of each other, so may
just as well build them in parallel. Makes the output a bit messy, but
that shouldn't be a problem and can easily be avoided with make -j1.
2010-03-29 00:26:59 +01:00
Tim-Philipp Müller
37d000d175
xoverlay: change new set_render_rectangle() vfunc to take four arguments so we don't depend on libgstvideo
...
Don't make libgstinterfaces (and thus libgstaudio etc.) indirectly depend
on libgstvideo by using the GstVideoRectangle helper structure in the API,
which causes undesirable dependencies, esp. with the gobject-introspection
(people will point and laugh at us if they find out that libgstaudio
depends on libgstvideo). Instead, pass the x, y, width and height parameters
directly to the function.
Re-fixes #610249 .
2010-03-28 20:21:10 +01:00
Tim-Philipp Müller
58a92964c6
build: Makefile.am fixes
...
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
Reuben Dowle
621705f475
ximagesink: Fix caps leak
...
Unref caps when peer doesn't accept caps
Fixes #613198
2010-03-17 19:24:27 -03:00
Benjamin Otte
3bd4aa26ff
Add -Wwrite-strings to configure
...
Fixes for the code included
2010-03-16 17:41:51 +01:00
Benjamin Otte
5e21fa5e0e
gst_element_class_set_details => gst_element_class_set_details_simple
...
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
Stefan Kost
a982dc0480
xvimagesink: implement set_render_rectangle
...
Previously we hardcoded the target rectangle passes to Xv(Shm)PutImage. Extend
the implementation to use a full rectangle and don't assume 0,0 for top,left.
2010-03-11 10:24:57 +02:00
Stefan Kost
7b13aeee32
x(v)imagesink: take new size from event thread and do not poll for every frame
...
We can update the geometry in ConfigureNotify (unless we disable event-
handling). If event handling is disabled, one should use _expose() to trigger a
redraw and update the geometry.
2010-03-11 10:23:19 +02:00
Stefan Kost
1e004cd363
ximagesink: only start event thread if needed
...
The event thread is doing 20 wakeups per second to poll the events. If one
runs ximagesink with handle-events=false and handle-expose=false then we can
avoid the extra thread.
2009-10-07 17:57:54 +03:00
Tim-Philipp Müller
a039d3a1a6
v4l: fix compiler warning
...
Fix 'variable may be used uninitialized' compiler warning (which is
true in theory, but can't actually ever happen, since we always
call the function with check=FALSE).
Fixes #596313 .
2009-10-07 10:15:52 +01:00
Stefan Kost
99b4483b8c
xvimagesink: only start event thread if needed
...
The event thread is doing 20 wakeups per second to poll the events. If one runs
xvimagesink with handle-events=false and handle-expose=false then we can avoid
the extra thread.
2009-10-07 11:18:09 +03:00
Tim-Philipp Müller
78b0413c5f
ximagesink, xvimagesink: use new GstVideoSink::show_frame() vfunc
2009-09-08 18:20:11 +01:00
René Stadler
f308675fc8
ximagesink: fix small memory leak when setting window title
2009-09-06 15:21:43 +03:00
René Stadler
a533ae303b
xvimagesink: fix small memory leak when setting window title
2009-09-06 01:44:23 +03:00
Tim-Philipp Müller
95af14d7bc
v4lsrc: fix timestamping for when we do not have a clock yet
...
Should fix #559049 .
2009-09-01 15:16:06 +01:00
Tim-Philipp Müller
e2e5a1da06
v4lsrc: don't log not-yet-initialised integer value
2009-09-01 15:08:18 +01:00
Tim-Philipp Müller
1af601d403
v4lsrc: avoid unnecessary run-time type checks in custom buffer finalize
...
And reflow code to be more indent friendly.
2009-09-01 15:08:10 +01:00
David Schleef
0e9bc5125a
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 11:37:01 -07:00
Filippo Argiolas
0f29d71a7d
v4lsrc: optional support for device probing with gudev
...
Enumerate v4l devices using gudev if available.
Fixes bug #583640 .
2009-07-13 16:13:25 +02:00
Stefan Kost
8e5a0000dc
xvimagesink: use core performance log category
2009-07-06 09:42:12 +01:00
Stefan Kost
b64be90326
v4l: open/close device in ready.
...
Simillar change like in v4l2src. This allows probing feature in paused, where
streaming is noit yet started.
2009-06-27 23:25:09 +03:00
Stefan Kost
8b0da4bfe8
x(v)imagesink: pass the xwindow along to not look at the yet unset var.
...
When we call this from xwindow_new, x(v)imagesink->xwindow is not yet set.
2009-06-22 16:17:10 +03:00
Stefan Kost
8946be1f0b
x(v)imagesink: catch tags and show title in own window
...
Refactor the code that sets the window title. Catch tag-events and use title
metadata for the window title.
2009-06-22 11:40:33 +03:00
Stefan Kost
483a955e89
xvimagesink: appname might be NULL
...
Don't set title if appname is unknown.
2009-06-18 18:13:22 +03:00
Stefan Kost
192efaf1d0
xvimagesink: set window title from application name
2009-06-18 17:58:06 +03:00
Hannes Bistry
77050a72f8
ximagesink: fix mouse pointer offsets in navigation event if window is smaller than the image
...
Fixes #570768 .
2009-04-14 12:26:10 +01:00
Edward Hervey
2555eeb737
navigation/v4l: Don't use g_return_val_if_fail for computed/used values.
2009-04-04 16:28:14 +02:00
Stefan Kost
2f90615d14
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.
2009-03-31 12:27:09 +03:00
Stefan Kost
492b8861c4
xvimagesink: scale the colorkey components in case of 16bit visuals
...
Use a default that won't be scales to 0,0,0
2009-03-25 14:40:42 +02:00
Jan Schmidt
3beecff125
v4lsrc: Fix some valgrind warnings about leaked memory and uninitialised data.
2009-03-13 15:58:33 +00:00
Stefan Kost
c673c09e4f
v4l: add a fixme for broken code, that someone who has a v4l tuner device should fix
2009-03-05 10:51:25 +02:00
Stefan Kost
a47949b2ba
ximagesink: use GST_FLOW_NOT_NEGOTIATED for partial caps
2009-02-26 18:01:04 +02:00
Stefan Kost
bc4388c413
ximagsink: do not access uninitialized height variable.
...
Exit like in xvimagesink, if we have partial caps.
2009-02-26 10:09:59 +02:00
Wim Taymans
81b7470ab8
xvimageink: protect buffer_alloc from shutdown
...
Use the pool_lock in the buffer_alloc function to detect shutdown. Avoids
crashes when the sink is shutdown.
2009-02-25 13:16:32 +01:00
Sebastian Dröge
8c74d858ba
x(v)imagesink: Correctly cast to GstBuffer * before passing to gst_buffer_unref()
2009-02-22 19:18:41 +01:00
Stefan Kost
26e4e3dcfe
xvimagesink: do not call _xwindow_clear on ready->paused.
...
Calling clear at that transition does things like stopping xvideo (which is not
running at that time) and also clearing anything what the application might have drawn.
This breaks handle-expose and autopaint-colorkey features.
2009-02-05 15:51:25 +02:00
Wim Taymans
e7f910e0fc
Fix buffer_alloc in ximagesink
...
Remove some useless debug info that reported wrong image sizes.
When upstream does not accept out suggested size, fall back to allocating an
image of the requested width/height instead of the currently configured size.
The problem is that an image is reused from the pool because the width/height
match but the caps on the new buffer are the requested caps with possibly
different height/width resulting in errors.
2009-02-02 13:30:42 +01:00
Wim Taymans
e327bbcd7d
Add some more debugging to the Xv strides
...
Add some more debugging to the strides as they are received from the server and
the expected strides.
2009-01-23 11:44:53 +01:00
Stefan Kost
f67b07cfd8
sys/xvimage/xvimagesink.c: Don't reset the colorkey when element is reused. Fixes #567511 .
...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Don't reset the colorkey when element is reused. Fixes #567511 .
2009-01-13 06:51:54 +00:00
Edward Hervey
89413e390c
gst/playback/gsturidecodebin.c: Free the factory array when finalizing.
...
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_finalize):
Free the factory array when finalizing.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
Use a GstStaticPadTemplate since the src pad caps are fixed.
2008-12-12 10:54:45 +00:00
Edward Hervey
98c2c8a052
sys/: Clear all flags on buffers returned from the image pool.
...
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
Clear all flags on buffers returned from the image pool.
Fixes #563143
2008-12-03 17:47:44 +00:00
Stefan Kost
969a798d92
sys/v4l/gstv4l.c: Give it a minimal rank for autovideosrc.
...
Original commit message from CVS:
* sys/v4l/gstv4l.c:
Give it a minimal rank for autovideosrc.
2008-11-14 15:40:28 +00:00
Wim Taymans
e02bde49f2
sys/xvimage/xvimagesink.*: Avoid typechecking when we do trivial casts.
...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_finalize),
(gst_xvimagesink_xvimage_put), (gst_xvimagesink_setcaps),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
* sys/xvimage/xvimagesink.h:
Avoid typechecking when we do trivial casts.
Move error handling out of the main program flow.
Sneak in the display-region caps property, not completely correct yet.
Cache the width/height in buffer_alloc instead of parsing it from the
caps all the time.
2008-11-13 18:18:32 +00:00