ext/gdk_pixbuf/pixbufscale.c: Correct caps negotiation
Original commit message from CVS: * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps): Correct caps negotiation * gst/volume/gstvolume.c: (volume_chain_float), (volume_chain_int16): Modify debug output to be little more informative * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_destroy): Add XSync calls after detaching from the shared memory segment to avoid a crash.
This commit is contained in:
parent
fa3ce15bbc
commit
771b0248e7
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2004-09-23 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
|
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps):
|
||||||
|
Correct caps negotiation
|
||||||
|
* gst/volume/gstvolume.c: (volume_chain_float),
|
||||||
|
(volume_chain_int16):
|
||||||
|
Modify debug output to be little more informative
|
||||||
|
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls):
|
||||||
|
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
|
||||||
|
(gst_xvimagesink_xvimage_destroy):
|
||||||
|
Add XSync calls after detaching from the shared memory segment to
|
||||||
|
avoid a crash.
|
||||||
|
|
||||||
2004-09-22 Zaheer Abbas Merali <zaheerabbas at merali dot org>
|
2004-09-22 Zaheer Abbas Merali <zaheerabbas at merali dot org>
|
||||||
|
|
||||||
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
|
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
|
||||||
|
@ -421,6 +421,8 @@ volume_chain_float (GstPad * pad, GstData * _data)
|
|||||||
filter = GST_VOLUME (GST_OBJECT_PARENT (pad));
|
filter = GST_VOLUME (GST_OBJECT_PARENT (pad));
|
||||||
g_return_if_fail (GST_IS_VOLUME (filter));
|
g_return_if_fail (GST_IS_VOLUME (filter));
|
||||||
|
|
||||||
|
GST_LOG_OBJECT (filter, "processing incoming float buffer with refcount %d",
|
||||||
|
GST_BUFFER_REFCOUNT_VALUE (buf));
|
||||||
out_buf = gst_buffer_copy_on_write (buf);
|
out_buf = gst_buffer_copy_on_write (buf);
|
||||||
|
|
||||||
data = (gfloat *) GST_BUFFER_DATA (out_buf);
|
data = (gfloat *) GST_BUFFER_DATA (out_buf);
|
||||||
@ -453,7 +455,7 @@ volume_chain_int16 (GstPad * pad, GstData * _data)
|
|||||||
filter = GST_VOLUME (GST_OBJECT_PARENT (pad));
|
filter = GST_VOLUME (GST_OBJECT_PARENT (pad));
|
||||||
g_return_if_fail (GST_IS_VOLUME (filter));
|
g_return_if_fail (GST_IS_VOLUME (filter));
|
||||||
|
|
||||||
GST_LOG_OBJECT (filter, "processing incoming buffer with refcount %d",
|
GST_LOG_OBJECT (filter, "processing incoming int16 buffer with refcount %d",
|
||||||
GST_BUFFER_REFCOUNT_VALUE (buf));
|
GST_BUFFER_REFCOUNT_VALUE (buf));
|
||||||
out_buf = gst_buffer_copy_on_write (buf);
|
out_buf = gst_buffer_copy_on_write (buf);
|
||||||
|
|
||||||
|
@ -153,9 +153,14 @@ gst_ximagesink_check_xshm_calls (GstXContext * xcontext)
|
|||||||
XSync (xcontext->disp, 0);
|
XSync (xcontext->disp, 0);
|
||||||
|
|
||||||
XShmDetach (xcontext->disp, &ximage->SHMInfo);
|
XShmDetach (xcontext->disp, &ximage->SHMInfo);
|
||||||
|
XSync (xcontext->disp, FALSE);
|
||||||
|
|
||||||
shmdt (ximage->SHMInfo.shmaddr);
|
shmdt (ximage->SHMInfo.shmaddr);
|
||||||
shmctl (ximage->SHMInfo.shmid, IPC_RMID, 0);
|
shmctl (ximage->SHMInfo.shmid, IPC_RMID, 0);
|
||||||
|
|
||||||
|
/* To be sure, reset the SHMInfo entry */
|
||||||
|
ximage->SHMInfo.shmaddr = ((void *) -1);
|
||||||
|
|
||||||
/* store whether we succeeded in result and reset error_caught */
|
/* store whether we succeeded in result and reset error_caught */
|
||||||
result = !error_caught;
|
result = !error_caught;
|
||||||
error_caught = FALSE;
|
error_caught = FALSE;
|
||||||
|
@ -163,9 +163,14 @@ gst_xvimagesink_check_xshm_calls (GstXContext * xcontext)
|
|||||||
XSync (xcontext->disp, 0);
|
XSync (xcontext->disp, 0);
|
||||||
|
|
||||||
XShmDetach (xcontext->disp, &xvimage->SHMInfo);
|
XShmDetach (xcontext->disp, &xvimage->SHMInfo);
|
||||||
|
XSync (xcontext->disp, FALSE);
|
||||||
|
|
||||||
shmdt (xvimage->SHMInfo.shmaddr);
|
shmdt (xvimage->SHMInfo.shmaddr);
|
||||||
shmctl (xvimage->SHMInfo.shmid, IPC_RMID, 0);
|
shmctl (xvimage->SHMInfo.shmid, IPC_RMID, 0);
|
||||||
|
|
||||||
|
/* To be sure, reset the SHMInfo entry */
|
||||||
|
ximage->SHMInfo.shmaddr = ((void *) -1);
|
||||||
|
|
||||||
/* store whether we succeeded in result and reset error_caught */
|
/* store whether we succeeded in result and reset error_caught */
|
||||||
result = !error_caught;
|
result = !error_caught;
|
||||||
error_caught = FALSE;
|
error_caught = FALSE;
|
||||||
@ -289,6 +294,7 @@ gst_xvimagesink_xvimage_destroy (GstXvImageSink * xvimagesink,
|
|||||||
if (xvimagesink->xcontext->use_xshm) {
|
if (xvimagesink->xcontext->use_xshm) {
|
||||||
if (xvimage->SHMInfo.shmaddr != ((void *) -1)) {
|
if (xvimage->SHMInfo.shmaddr != ((void *) -1)) {
|
||||||
XShmDetach (xvimagesink->xcontext->disp, &xvimage->SHMInfo);
|
XShmDetach (xvimagesink->xcontext->disp, &xvimage->SHMInfo);
|
||||||
|
XSync (xvimagesink->xcontext->disp, FALSE);
|
||||||
shmdt (xvimage->SHMInfo.shmaddr);
|
shmdt (xvimage->SHMInfo.shmaddr);
|
||||||
}
|
}
|
||||||
if (xvimage->SHMInfo.shmid > 0)
|
if (xvimage->SHMInfo.shmid > 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user