Commit graph

415 commits

Author SHA1 Message Date
Wim Taymans
ddce68a5c2 video: More video helper library improvements
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Tim-Philipp Müller
8cede4ae6a gst, sys: remove GstImplementsInterface usage 2011-06-26 23:16:08 +01:00
Wim Taymans
dd7e605fec x11: let upstream know we support cropping 2011-06-23 16:31:21 +02:00
Wim Taymans
df94f2da81 x11: add image cropping
Use the cropping metadata to crop the image.
Remove deprecated display-region property to set a clipping rectangle.
2011-06-23 12:55:13 +02:00
Wim Taymans
1a5d88b68c xvimagesink: handle unknown formats 2011-06-22 19:35:16 +02:00
Wim Taymans
aa73f69f2d x11: use frame copy functions 2011-06-22 15:38:24 +02:00
Wim Taymans
8fbdac9fc6 x11: delay pool activation
don't activate the pool we return in the ALLOCATION query because upstream might
still want to configure it
2011-06-20 17:39:05 +02:00
Wim Taymans
cf91192668 x11: handle new bufferpool metadata api
Provide a method to list the supported metadata apis.
Activate the video metadata on buffers when a downstream element configured the
bufferpool to support that api.
2011-06-20 13:28:12 +02:00
Wim Taymans
5eeb468c75 x11: use GstVideoInfo to parse caps
Use GstVideoInfo to keep track of the configured format.
Add GstMetaVideo to buffers, disabled by default for now until we can have it
enabled with a property on the bufferpool configuration.
2011-06-17 17:54:52 +02:00
Wim Taymans
0d75dc5a0b x11: make function static
Don't export buffer creation function, we need to use the bufferpool
now.
2011-06-17 17:27:22 +02:00
Wim Taymans
d93129d8da -base: port to GstVideoFrame API 2011-06-17 15:41:31 +02:00
Wim Taymans
d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Wim Taymans
9c54ca5254 -base: update for buffer API change 2011-06-13 16:32:56 +02:00
Wim Taymans
a8971beee0 ximage: fix alignment and size
Set the right alignment and size in the bufferpool.
2011-06-11 20:47:01 +02:00
Wim Taymans
1c8324a0d1 update for bufferpool api change 2011-06-11 18:54:44 +02:00
Sebastian Dröge
bf08ca7020 Merge branch 'master' into 0.11 2011-05-26 13:54:09 +02:00
Sebastian Dröge
7716358d04 xvimagesink: Fallback to non-XShm mode if allocating the XShm image failed
Fixes bug #630442.
2011-05-26 12:33:08 +02:00
Sreerenj Balachandran
2f6d9e55cc xvimagesink: Remove the g_assert from interface query 2011-05-26 09:05:55 +02:00
Stefan Kost
b229b8f3f9 xvimagesink: run gst-indent 2011-05-25 12:30:51 +03:00
Stefan Kost
3f642f3635 xvimagesink: remove unneded !=NULL checks
We check for matching_attr!=NULL right before already.
2011-05-25 12:29:21 +03:00
Wim Taymans
453091137e x11: free bufferpool whe activation fails 2011-05-24 09:45:39 +02:00
Wim Taymans
f66c6ced56 xvimagesink: improve allocation query
If the allocation query contains the same caps as the current allocator, we can
return that one instead of making a new one.
2011-05-19 15:55:53 +02:00
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
8d6e2c8a89 xvimagesink: Update for negotiation related API changes 2011-05-16 15:35:41 +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
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
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
c7c8f3e13d meta: fix for new API 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
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
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
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
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
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
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
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
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
a533ae303b xvimagesink: fix small memory leak when setting window title 2009-09-06 01:44:23 +03:00
Stefan Kost
8e5a0000dc xvimagesink: use core performance log category 2009-07-06 09:42:12 +01: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
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
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
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
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
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
Stefan Kost
2aaf298543 sys/: Don't mark as gtk-doc docs as they aren't public.
Original commit message from CVS:
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.h:
Don't mark as gtk-doc docs as they aren't public.
2008-10-22 12:29:30 +00:00
Stefan Kost
6b3c69fa01 Allow setting colorkey if possible. Implement property probe interface for optional X features (autopaint-colorkey, d...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
* sys/xvimage/xvimagesink.h:
* tests/icles/Makefile.am:
* tests/icles/test-colorkey.c:
Allow setting colorkey if possible. Implement property probe interface
for optional X features (autopaint-colorkey, double-buffer and
colorkey). Fixes #554533
2008-10-22 12:25:02 +00:00
Stefan Kost
2cd4c7e2b9 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:07:00 +00:00
Stefan Kost
13759bcbff sys/xvimage/xvimagesink.c: Don't assert on caps==NULL.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Don't assert on caps==NULL.
2008-10-11 16:27:28 +00:00
Tim-Philipp Müller
76330d35c7 sys/xvimage/xvimagesink.c: No really, the next release is 0.10.21 (fix Since: tags in docs).
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
No really, the next release is 0.10.21 (fix Since: tags in docs).
2008-09-05 10:24:05 +00:00
Stefan Kost
fb3d85f292 sys/xvimage/xvimagesink.*: Add a "draw-border" property that can be set to false to disable drawing borders.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
* sys/xvimage/xvimagesink.h:
Add a "draw-border" property that can be set to false to disable
drawing borders.
* tests/icles/test-colorkey.c:
* tests/icles/Makefile.am:
Add new test application for the colorkey handling.
2008-09-04 13:46:52 +00:00
Edward Hervey
d7e7103b52 sys/xvimage/xvimagesink.c: Fix a "may be used uninitialized in this function" which weirdly only appears on macosx (?).
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Fix a "may be used uninitialized in this function" which weirdly only
appears on macosx (?).
2008-07-30 15:29:44 +00:00
Stefan Kost
329de8cfc5 sys/xvimage/Makefile.am: floor() needs linking to $(LIBM).
Original commit message from CVS:
* sys/xvimage/Makefile.am:
floor() needs linking to $(LIBM).
2008-07-29 13:01:13 +00:00
Stefan Kost
feea3e0b1c gst/playback/gstplaybasebin.c: Fix property doc markup (its not a signal).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
Fix property doc markup (its not a signal).
* sys/xvimage/xvimagesink.c:
Add since tag for new proeprties (also add sice tags fro the last two
other additions).
2008-07-29 10:26:28 +00:00
Stefan Kost
95376f9130 sys/xvimage/xvimagesink.*: Add autofill/colorkey properties. Fixes #538656.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
* sys/xvimage/xvimagesink.h:
Add autofill/colorkey properties. Fixes #538656.
2008-07-29 08:59:32 +00:00
David Schleef
e98057986b sys/xvimage/xvimagesink.c: Fix rounding errors when converting colorbalance values between hardware and object proper...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Fix rounding errors when converting colorbalance values
between hardware and object property ranges.  Partial
fix for #537889, however, there still seems to be a small
drift problem that could be totem's fault.
2008-07-29 01:58:05 +00:00
Jan Schmidt
2b8f4868ee sys/xvimage/xvimagesink.c: Oops - set the size of the image used for probing back to 1x1, for consistency with ximage...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls):
Oops - set the size of the image used for probing back to 1x1, for
consistency with ximagesink
2008-07-17 14:21:30 +00:00
Jan Schmidt
6d641640bb sys/: it's not legal to ask the
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
Apparently on Solaris and OS/X (at least), it's not legal to ask the
X server to attach to a shared memory segment after we've deleted it,
with the result that MIT-SHM is disabled. Instead, remove it only after
X succeeds in attaching too.
2008-07-17 13:57:33 +00:00
Stefan Kost
4f699b7f80 Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2008-07-11 06:10:24 +00:00
Jan Schmidt
4b5e729246 sys/ximage/ximagesink.h: When the caps change, make sure to re-draw borders in force-aspect-ratio=true mode.
Original commit message from CVS:
* sys/ximage/ximagesink.c (gst_ximagesink_ximage_put),
(gst_ximagesink_setcaps):
* sys/ximage/ximagesink.h:
When the caps change, make sure to re-draw borders in
force-aspect-ratio=true mode.
* sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_put):
Don't clear the border_draw flag until we actually draw the border.
* tests/check/Makefile.am:
Ignore alsasink/src during the states test too, so it doesn't fail
when running without access to the sound device.
2008-06-24 01:14:40 +00:00
Michael Smith
23f5a075ab sys/xvimage/xvimagesink.c: Don't set colour balance values on the Xv port if the user hasn't changed them (via proper...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Don't set colour balance values on the Xv port if the user hasn't
changed them (via properties or the interface). Avoids accumulating
rounding errors for the common case.
Partial fix for bug #537889.
2008-06-20 17:02:48 +00:00
Wim Taymans
2cdf18edff Some debug and comment fixes.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_show_frame):
Some debug and comment fixes.
* tests/examples/dynamic/addstream.c: (main):
Fix , to ;
2008-05-21 16:44:15 +00:00
Stefan Kost
5965f5e8a9 sys/xvimage/xvimagesink.c: Better debug logging in port value handling. Merging separate port value loops into one.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Better debug logging in port value handling. Merging separate port
value loops into one.
2008-05-14 09:12:10 +00:00
Stefan Kost
b773ac8cb2 sys/xvimage/xvimagesink.c: Add some logging for cases when grabbing the xv failed.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Add some logging for cases when grabbing the xv failed.
2008-04-23 08:58:42 +00:00
David Schleef
ac9e02c1d9 sys/xvimage/xvimagesink.c: Fix typo that causes the overlay keying color to bright green on a 16-bit display. Dark g...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Fix typo that causes the overlay keying color to bright green
on a 16-bit display.  Dark grey good.  Bright green bad.
2008-04-22 06:13:43 +00:00
Jan Schmidt
cd933152c7 Fix calculation of 'expected size' for YV12 buffers.
Original commit message from CVS:
2008-04-07  Jan Schmidt  <jan.schmidt@sun.com>

* sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_buffer_alloc):
Fix calculation of 'expected size' for YV12 buffers.
Be a little more verbose in the debug output for buffer-alloc'ed
buffers which turn out to have the wrong size.
2008-04-07 22:37:26 +00:00
Sebastian Dröge
49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
Sebastian Dröge
ec7afb6f84 Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +00:00
Branko Čibej
bb1b1b0e19 sys/xvimage/xvimagesink.c: Fix build of xvimagesink if we don't have XShm, e.g. on Mac OS X.
Original commit message from CVS:
Patch by: Branko Čibej <brane at xbc dot nu>
* sys/xvimage/xvimagesink.c:
Fix build of xvimagesink if we don't have XShm, e.g. on Mac OS X.
Fixes bug #515654.
2008-02-11 06:47:50 +00:00
Julien Moutte
54f25e1158 sys/xvimage/xvimagesink.c: Add debugging information to understand how X calculates the stride for XvImages.
Original commit message from CVS:
2008-01-05  Julien Moutte  <julien@fluendo.com>

* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Add
debugging information to understand how X calculates the stride
for XvImages.
2008-01-05 22:25:05 +00:00
Tommi Myöhänen
0ccab4d247 sys/: Don't leak the PAR on errors. Fixes #496731.
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get):
Don't leak the PAR on errors. Fixes #496731.
2007-11-16 11:16:58 +00:00
Wim Taymans
d3f29fa6e1 sys/: Make sure that before we clean up the X resources, we shutdown and join the event thread.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_event_thread),
(gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state), (gst_ximagesink_reset):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_event_thread),
(gst_xvimagesink_xcontext_get), (gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_change_state), (gst_xvimagesink_reset):
Make sure that before we clean up the X resources, we shutdown and join
the event thread.
Also make sure the event thread does not shut down immediatly after
startup because the running variable is not yet correctly set.
Fixes #378770.
2007-10-22 10:21:46 +00:00
Jan Schmidt
8ab5292f13 Actual code change to go along with:
Original commit message from CVS:
Actual code change to go along with:

2007-10-12  Jan Schmidt  <Jan.Schmidt@sun.com>

* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate),
(gst_xvimagesink_xwindow_new),
(gst_xvimagesink_update_colorbalance),
(gst_xvimagesink_handle_xevents), (gst_xvimagesink_xcontext_get):

Fix handling of some of the X atoms. If the last parameter is True,
XInternAtom won't create the atom if it doesn't exist, and therefore
might return None. This causes X errors on Xv implementations that
don't provide the colour balance attributes.
2007-10-12 10:52:18 +00:00
René Stadler
a011ad5aee sys/: Correctly chain up finalize with the parent class to prevent memory leaks. Fixes #474880.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximage_buffer_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_class_init):
Correctly chain up finalize with the parent class to prevent
memory leaks. Fixes #474880.
2007-09-09 10:25:43 +00:00
Michael Smith
11cf0dcd6b sys/xvimage/xvimagesink.c: xcontext->im_format is only for testing XShm support (as the header file comments document...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps):
xcontext->im_format is only for testing XShm support (as the header
file comments document). Use xvimage->im_format for everything else.
Avoids spurious warnings on buffer allocation before setcaps.
2007-07-20 16:09:03 +00:00
Bastien Nocera
312c0bd5ba sys/xvimage/xvimagesink.*: Add option to turn off double-buffering for debugging purposes.
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess dot net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_init), (gst_xvimagesink_class_init):
* sys/xvimage/xvimagesink.h:
Add option to turn off double-buffering for debugging purposes.
Fixes #437169.
2007-07-14 18:33:15 +00:00
Jorn Baayen
877fa6035a sys/: add 'handle-expose' property. Useful for video widgets which may want to be in control of Expose behaviour. Fix...
Original commit message from CVS:
Patch by: Jorn Baayen <jorn at openedhand dot com>
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents),
(gst_ximagesink_set_property), (gst_ximagesink_get_property),
(gst_ximagesink_init), (gst_ximagesink_class_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_init), (gst_xvimagesink_class_init):
* sys/xvimage/xvimagesink.h:
add 'handle-expose' property. Useful for video widgets which may want to
be in control of Expose behaviour. Fixes #380625
2007-07-14 18:20:41 +00:00
Jan Schmidt
476361497d sys/xvimage/xvimagesink.*: After a caps change, redraw our borders to avoid garbage left there when the image format ...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_setcaps):
* sys/xvimage/xvimagesink.h:
After a caps change, redraw our borders to avoid garbage left there
when the image format changes to a smaller size, like 16:9 -> 4:3
Also, hold the flow_lock a bit longer in the set_caps while we're
fiddling with the xcontext.
2007-07-13 16:05:17 +00:00
Mike Smith
cfc4403058 sys/: Fix a locking-order bug I introduced with my changes the other day.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Fix a locking-order bug I introduced with my changes the other day.
Patch by Mike Smith.
2007-05-21 15:32:42 +00:00
Jan Schmidt
cbc95dfb3d sys/: When we create our own window, indicate that we handle the
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put),
(gst_ximagesink_xwindow_new), (gst_ximagesink_handle_xevents),
(gst_ximagesink_show_frame):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_handle_xevents),
(gst_xvimagesink_show_frame):
When we create our own window, indicate that we handle the
WM_DELETE client message from the window manager, so that it won't
kill our window (and our app) along with it. Handle ClientMessage,
post an error on the bus, and close the window. Further buffers
arriving will result in a FlowError because the window has been
destroyed.
Fixes: #393975
Clean up the X event handling loop and make them the same for
both xvimagesink and ximagesink while I'm at it.
2007-05-17 17:35:46 +00:00
David Schleef
1db63972f0 sys/xvimage/xvimagesink.c: Add some sanity checking for the XVImage size returned by X.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c:
Add some sanity checking for the XVImage size returned by X.
Related to #377400.
2007-05-13 01:06:19 +00:00
Stefan Kost
23a2a0e224 gst/subparse/: Use GST_DISABLE_XML here
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
* gst/subparse/samiparse.c:
Use GST_DISABLE_XML here
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_navigation_send_event):
* sys/xvimage/xvimagesink.h:
Include stdlib.h when using atoi.
* tests/check/elements/playbin.c: (playbin_suite):
Use GST_DISABLE_REGISTRY here
2007-04-20 10:42:24 +00:00
Jan Schmidt
ea0d6ebf36 sys/: Move some cleanup stuff from the state change handler into a _reset() function that can be called from _finaliz...
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state), (gst_ximagesink_reset),
(gst_ximagesink_finalize):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state),
(gst_xvimagesink_reset), (gst_xvimagesink_finalize):
Move some cleanup stuff from the state change handler into a _reset()
function that can be called from _finalize(). This ensures that things
get freed even if (for some reason) the NULL->READY state transition
fails in the parent class.
Even if a parent state change fails, process our downward state change
logic instead of bailing out early.
Free the correct xcontext pointer in ximagesink's xcontext_clear.
2007-03-08 15:22:53 +00:00
Wim Taymans
6ed39cf7c7 sys/: Small constifications.
Original commit message from CVS:
* sys/ximage/ximagesink.c:
(gst_ximagesink_calculate_pixel_aspect_ratio):
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_calculate_pixel_aspect_ratio):
Small constifications.
2007-02-15 12:07:57 +00:00
Julien Moutte
bbae92bbc4 sys/xvimage/xvimagesink.*: Implement PropertyProbe Interface for XVAdaptors so that one can choose the adaptor to use...
Original commit message from CVS:
2007-02-06  Julien MOUTTE  <julien@moutte.net>

* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents),
(gst_xvimagesink_get_xv_support),
(gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_interface_supported),
(gst_xvimagesink_probe_get_properties),
(gst_xvimagesink_probe_probe_property),
(gst_xvimagesink_probe_needs_probe),
(gst_xvimagesink_probe_get_values),
(gst_xvimagesink_property_probe_interface_init),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_init), (gst_xvimagesink_class_init),
(gst_xvimagesink_get_type):
* sys/xvimage/xvimagesink.h: Implement PropertyProbe Interface
for XVAdaptors so that one can choose the adaptor to use with
gstreamer-properties.
2007-02-06 17:47:32 +00:00
Julien Moutte
60dad35de0 sys/: Don't lock on navigation event push, just on keysym to string.
Original commit message from CVS:
2007-01-23  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Don't lock on navigation event push, just on keysym to string.
Fixes #397673 again.
2007-01-23 13:19:19 +00:00
Julien Moutte
7861683872 sys/: Looking at Xorg code i can't figure out if that XKeysymToString function is thread sensible or not. Lock it jus...
Original commit message from CVS:
2007-01-22  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Looking at Xorg code i can't figure out if that XKeysymToString
function is thread sensible or not. Lock it just in case as
recommended by Radek Doulik <rodo at ximian dot com>.
2007-01-22 13:16:42 +00:00
Julien Moutte
34af6e729d sys/: Lock that X Call as well. Fixes #397673.
Original commit message from CVS:
2007-01-22  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Lock that X Call as well. Fixes #397673.
2007-01-22 13:10:13 +00:00
Stefan Kost
bc62bb15e5 sys/xvimage/xvimagesink.c: Red and blue mask was swapped (spotted by Dan Williams).
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Red and blue mask was swapped (spotted by Dan Williams).
2007-01-16 11:41:58 +00:00
Young-Ho Cha
71b8a1f392 sys/xvimage/xvimagesink.c: Fixes : #390076.
Original commit message from CVS:
2007-01-07  Julien MOUTTE  <julien@moutte.net>

* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_xvimage_put),
(gst_lookup_xv_port_from_adaptor),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_set_event_handling),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_init), (gst_xvimagesink_class_init):
Patch by : Young-Ho Cha <ganadist at chollian dot net>
Fixes : #390076.
Add an adaptor property to select a specific XV adaptor.
* sys/xvimage/xvimagesink.h:
2007-01-07 21:53:38 +00:00
Julien Moutte
50d428b956 sys/: Use flow_lock much more to protect every access to xwindow.
Original commit message from CVS:
2007-01-07  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximagesink_handle_xerror), (gst_ximagesink_ximage_new),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put),
(gst_ximagesink_handle_xevents), (gst_ximagesink_setcaps),
(gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id),
(gst_ximagesink_expose), (gst_ximagesink_set_event_handling):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_handle_xerror),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_handle_xevents), (gst_xvimagesink_setcaps),
(gst_xvimagesink_change_state),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_expose), (gst_xvimagesink_set_event_handling):
Use flow_lock much more to protect every access to xwindow.
Try to catch erros while creating images in case some drivers
are
just generating an XError when the requested image is too big.
Should fix : #354698, #384008, #384060.
* tests/icles/stress-xoverlay.c: (cycle_window),
(create_window):
Implement some stress testing of setting window xid.
2007-01-07 18:50:13 +00:00
Thomas Vander Stichele
95ada43982 configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
Original commit message from CVS:
* configure.ac:
split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS
so that GST_BASE_CFLAGS can go inbetween them, making sure
we use uninstalled gst-libs headers
* docs/libs/Makefile.am:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/playback/Makefile.am:
* gst/tcp/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/volume/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
* tests/icles/Makefile.am:
adapt
2007-01-04 12:49:48 +00:00
Julien Moutte
163ec9ecf9 Add a method to the XOverlay interface to allow disabling of event handling in x[v]imagesink elements. This will let ...
Original commit message from CVS:
2007-01-04  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/interfaces/xoverlay.c:
(gst_x_overlay_handle_events):
* gst-libs/gst/interfaces/xoverlay.h:
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
(gst_ximagesink_set_xwindow_id),
(gst_ximagesink_set_event_handling),
(gst_ximagesink_xoverlay_init), (gst_ximagesink_set_property),
(gst_ximagesink_get_property), (gst_ximagesink_init),
(gst_ximagesink_class_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_set_event_handling),
(gst_xvimagesink_xoverlay_init), (gst_xvimagesink_set_property),
(gst_xvimagesink_get_property), (gst_xvimagesink_init),
(gst_xvimagesink_class_init):
* sys/xvimage/xvimagesink.h:
* tests/icles/stress-xoverlay.c: (toggle_events),
(create_window):
Add a method to the XOverlay interface to allow disabling of
event handling in x[v]imagesink elements. This will let X events
propagate to parent windows which can be usefull in some cases.
Be carefull that the application is then responsible of pushing
navigation events and expose events to the video sink.
Fixes: #387138.
2007-01-04 11:30:53 +00:00
Julien Moutte
d3aa5300b7 sys/: Plug a caps leak.
Original commit message from CVS:
2006-12-27  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_setcaps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Plug a
caps leak.
* win32/common/config.h: Updated.
2006-12-27 12:08:13 +00:00
Stefan Kost
dd9dbbc678 sys/xvimage/xvimagesink.c: Fix spacing in debug message.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
Fix spacing in debug message.
2006-11-24 08:35:23 +00:00
Stefan Kost
8795eafaa4 sys/xvimage/xvimagesink.c: clear xv when going to NULL, remove // commented non-existant proto
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
clear xv when going to NULL, remove // commented non-existant proto
* tests/examples/seek/seek.c: (main):
add missing tooltip description for scrub and play_scrub
2006-11-15 10:05:33 +00:00
Jan David Mol
d24ad6ac0a Various gsize and gssize printf fixes. Fixes #372507.
Original commit message from CVS:
Patch by: Jan David Mol <j dot j dot d dot mol at tudelft dot nl>
* gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_auds),
(gst_riff_parse_strf_iavs):
* gst/subparse/gstsubparse.c: (convert_encoding):
* gst/tcp/gstmultifdsink.c:
(gst_multi_fd_sink_handle_client_write):
* gst/tcp/gsttcp.c: (gst_tcp_socket_write), (gst_tcp_socket_read),
(gst_tcp_read_buffer), (gst_tcp_gdp_read_caps),
(gst_tcp_gdp_write_buffer), (gst_tcp_gdp_write_caps):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_render):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new):
Various gsize and gssize printf fixes. Fixes #372507.
2006-11-14 11:54:14 +00:00
Tim-Philipp Müller
a74bb753c3 sys/: Explicitly create our custom buffer classes at a thread-safe location as well, since g_type_class_ref() doesn't...
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Explicitly create our custom buffer classes at a thread-safe
location as well, since g_type_class_ref() doesn't seem to be
entirely thread-safe either (#365501; also see #349410).
2006-10-27 11:57:18 +00:00
Stefan Kost
776911ecc2 sys/: Try to redraw borders only when needed. Apparently this consumes resources on small devices... :-O (#363607)
Original commit message from CVS:
2006-10-20  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put):
Patch by: Stefan Kost  <ensonic@users.sf.net>
Try to redraw borders only when needed. Apparently this consumes
resources on small devices... :-O (#363607)
2006-10-20 13:56:55 +00:00
Tim-Philipp Müller
9e107d670a Printf format fixes.
Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c:
(gst_alsa_device_property_probe_get_values):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_elem_pad),
(gst_ogg_chain_new_stream), (gst_ogg_demux_read_chain):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers),
(gst_ogg_mux_process_best_pad):
* ext/ogg/gstoggparse.c: (gst_ogg_parse_new_stream),
(gst_ogg_parse_chain):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_setup),
(gst_vorbis_enc_buffer_check_discontinuous):
* ext/vorbis/vorbisparse.c: (vorbis_parse_src_query):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_track_seek):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_push_full):
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
* gst/audioresample/resample.c: (resample_input_pushthrough):
* gst/playback/gstplaybasebin.c: (queue_out_of_data):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients):
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(wavpack_type_find):
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
* tests/check/elements/volume.c: (GST_START_TEST):
Printf format fixes.
2006-10-05 15:55:21 +00:00
Jan Schmidt
e2a039a53e gst/playback/gstdecodebin.c: Fix typo in a debug statement.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Fix typo in a debug statement.
* gst/playback/gstplaybasebin.c: (probe_triggered),
(new_decoded_pad_full), (new_decoded_pad), (subs_new_decoded_pad),
(gen_source_element), (source_new_pad), (analyse_source),
(setup_source):
When handling no_more_pads in new_decoded_pad, make sure to treat
subtitle pads correctly. Fixes playback with subtitle files.
Move a recurring message to LOG level.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
The maximum value for the Xv colorkey on this Radeon is 0xFFFFFFFF,
which ends up as -1 when cast to an int. Make the logic handle the
max value as an unsigned mask and only change the colorkey when it's
a value we recognise.
2006-09-30 15:30:07 +00:00
Stefan Kost
d2d2747352 sys/xvimage/xvimagesink.c: change colorkey behaviour back according to #354773 comment 6/7
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_get_times):
change colorkey behaviour back according to #354773 comment 6/7
2006-09-20 10:59:06 +00:00
Wim Taymans
3edec5923c gst-libs/gst/riff/riff-media.c: Reorder the audio formats a bit for clarity.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
Reorder the audio formats a bit for clarity.
Detect and create caps for MSGSM and MSN (WAV49).
Fixes #356596.
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_show_frame):
Small cleanups, move error handling out of normal flow for clarity.
2006-09-19 10:23:03 +00:00
Stefan Kost
820dc3a72d sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support)
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support)
Give better warning message (add object and detail).
2006-09-18 15:00:51 +00:00
Stefan Kost
d8bba5d8c2 sys/xvimage/xvimagesink.c: xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes #354773), use gst_util...
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_get_times):
xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes
#354773), use gst_util_uint64_scale_int in _get_times()
2006-09-18 14:42:03 +00:00
Tim-Philipp Müller
f65205edb5 sys/: Fix leak (#351502).
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_property):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_property):
Fix leak (#351502).
2006-08-15 19:20:16 +00:00
Jan Schmidt
a4dd5b37ba sys/xvimage/xvimagesink.c: Fix missing g_unlock from the previous commit
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new):
Fix missing g_unlock from the previous commit
2006-07-13 16:43:22 +00:00
Jan Schmidt
e9a7a5e612 sys/: Implement a locking order to ensure we always take the object lock before the x_lock and never vice-versa.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_change_state):
Implement a locking order to ensure we always take the object lock
before the x_lock and never vice-versa.
2006-07-13 16:34:04 +00:00
Jan Schmidt
435fd24556 gst/playback/gstdecodebin.c: Fix a caps leak when linking (#347304)
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (find_compatibles):
Fix a caps leak when linking (#347304)
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xcontext_clear), (gst_xvimagesink_change_state):
Don't leak shared memory resources. Use the object lock to protect
against the xcontext disappearing while returning a buffer from the
pipeline. (#347304)
2006-07-13 14:38:15 +00:00
Thomas Vander Stichele
31c54a6644 further clean up build
Original commit message from CVS:
further clean up build
2006-06-11 14:08:54 +00:00
Stefan Kost
131fb86b4b Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.h:
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixertrack.h:
* ext/gnomevfs/gstgnomevfssink.h:
* ext/gnomevfs/gstgnomevfssrc.h:
* ext/theora/gsttheoradec.h:
* ext/theora/gsttheoraenc.h:
* ext/theora/gsttheoraparse.h:
* ext/vorbis/vorbisparse.h:
* gst-libs/gst/audio/gstaudioclock.h:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
* gst/audioconvert/gstaudioconvert.h:
* gst/audioresample/gstaudioresample.h:
* gst/audiotestsrc/gstaudiotestsrc.h:
* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
* gst/playback/gststreamselector.h:
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.h:
* gst/videorate/gstvideorate.h:
* gst/videoscale/gstvideoscale.h:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/volume/gstvolume.h:
* sys/v4l/gstv4ljpegsrc.h:
* sys/v4l/gstv4lmjpegsink.h:
* sys/v4l/gstv4lmjpegsrc.h:
* sys/v4l/gstv4lsrc.h:
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.h:
* tests/old/testsuite/alsa/sinesrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 19:19:51 +00:00
Jan Schmidt
c1236503cf sys/xvimage/xvimagesink.c: Improve the errors produced on bad output, including some human readable description strings.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_get_format_from_caps), (gst_xvimagesink_setcaps),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
Improve the errors produced on bad output, including some human
readable description strings.
Handle RGB Xv formats properly by transforming them into our
big-endian caps description.
Use gst_caps_truncate to ensure that we never try and choose a
non-fixed caps in buffer_alloc.
Handle the case where the XServer has a different idea about the size
required for a particular frame and gives us too small a memory
allocation.
Use -1 to indicate 'no image format', because 0 is a valid XServer
image format number.
Put RGB Xv formats at the end of the caps, so that we always prefer
YUV format frames.
Iterate the available Xv Encodings to determine the maximum width and
height, and then return that in our caps.
2006-05-26 09:40:35 +00:00
Jan Schmidt
f3b81a7de1 Use the gstutil scaling function to preserve 64 bits while calculating output width and height from the display-aspec...
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
Use the gstutil scaling function to preserve 64 bits while calculating
output width and height from the display-aspect-ratio. (A continuation
of #341542)
2006-05-19 13:02:46 +00:00