mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-24 08:08:22 +00:00
sys/ximage/ximagesink.*: Refactoring of ximagesink.
Original commit message from CVS: 2005-11-18 Julien MOUTTE <julien@moutte.net> * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize), (gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy), (gst_ximagesink_xwindow_draw_borders), (gst_ximagesink_ximage_put), (gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_update_geometry), (gst_ximagesink_handle_xevents), (gst_ximagesink_event_thread), (gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear), (gst_ximagesink_bufferpool_clear), (gst_ximagesink_getcaps), (gst_ximagesink_setcaps), (gst_ximagesink_change_state), (gst_ximagesink_show_frame), (gst_ximagesink_buffer_alloc), (gst_ximagesink_navigation_send_event), (gst_ximagesink_set_xwindow_id), (gst_ximagesink_expose), (gst_ximagesink_set_property), (gst_ximagesink_get_property), (gst_ximagesink_finalize), (gst_ximagesink_init), (gst_ximagesink_class_init): * sys/ximage/ximagesink.h: Refactoring of ximagesink. This new version brings correct software scaling, non flickering window while resizing, pixel aspect ratio handling, usage of hardware buffer pools, out of data flow event thread for navigation and handling of expose events even when being PAUSED, a new property to keep video aspect ratio when resizing, etc...
This commit is contained in:
parent
4f1890270b
commit
9e0446f03e
3 changed files with 529 additions and 567 deletions
25
ChangeLog
25
ChangeLog
|
@ -1,3 +1,28 @@
|
|||
2005-11-18 Julien MOUTTE <julien@moutte.net>
|
||||
|
||||
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
|
||||
(gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new),
|
||||
(gst_ximagesink_ximage_destroy),
|
||||
(gst_ximagesink_xwindow_draw_borders), (gst_ximagesink_ximage_put),
|
||||
(gst_ximagesink_xwindow_new),
|
||||
(gst_ximagesink_xwindow_update_geometry),
|
||||
(gst_ximagesink_handle_xevents), (gst_ximagesink_event_thread),
|
||||
(gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear),
|
||||
(gst_ximagesink_bufferpool_clear), (gst_ximagesink_getcaps),
|
||||
(gst_ximagesink_setcaps), (gst_ximagesink_change_state),
|
||||
(gst_ximagesink_show_frame), (gst_ximagesink_buffer_alloc),
|
||||
(gst_ximagesink_navigation_send_event),
|
||||
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_expose),
|
||||
(gst_ximagesink_set_property), (gst_ximagesink_get_property),
|
||||
(gst_ximagesink_finalize), (gst_ximagesink_init),
|
||||
(gst_ximagesink_class_init):
|
||||
* sys/ximage/ximagesink.h: Refactoring of ximagesink.
|
||||
This new version brings correct software scaling, non flickering
|
||||
window while resizing, pixel aspect ratio handling, usage of
|
||||
hardware buffer pools, out of data flow event thread for
|
||||
navigation and handling of expose events even when being PAUSED,
|
||||
a new property to keep video aspect ratio when resizing, etc...
|
||||
|
||||
2005-11-18 Julien MOUTTE <julien@moutte.net>
|
||||
|
||||
* gst/videoscale/gstvideoscale.c: (gst_videoscale_class_init),
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -107,7 +107,8 @@ struct _GstXImageBuffer {
|
|||
XShmSegmentInfo SHMInfo;
|
||||
#endif /* HAVE_XSHM */
|
||||
|
||||
gint width, height, size;
|
||||
gint width, height;
|
||||
size_t size;
|
||||
};
|
||||
|
||||
struct _GstXImageSink {
|
||||
|
@ -120,27 +121,23 @@ struct _GstXImageSink {
|
|||
GstXWindow *xwindow;
|
||||
GstXImageBuffer *ximage;
|
||||
GstXImageBuffer *cur_image;
|
||||
|
||||
GstCaps *desired_caps;
|
||||
|
||||
GThread *event_thread;
|
||||
gboolean running;
|
||||
|
||||
gdouble framerate;
|
||||
GMutex *x_lock;
|
||||
GMutex *stream_lock;
|
||||
GMutex *flow_lock;
|
||||
|
||||
/* Unused */
|
||||
gint pixel_width, pixel_height;
|
||||
GValue *par; /* object-set pixel aspect ratio */
|
||||
|
||||
GstClockTime time;
|
||||
|
||||
GMutex *pool_lock;
|
||||
GSList *image_pool;
|
||||
GSList *buffer_pool;
|
||||
|
||||
gboolean synchronous;
|
||||
gboolean sw_scaling_failed;
|
||||
|
||||
GMutex *nav_lock;
|
||||
GSList *pend_nav_events;
|
||||
gboolean keep_aspect;
|
||||
};
|
||||
|
||||
struct _GstXImageSinkClass {
|
||||
|
|
Loading…
Reference in a new issue