diff options
author | Andrew Andkjar <enki@goodship.net> | 2006-08-29 12:07:38 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.net> | 2006-08-29 12:07:38 +0000 |
commit | ef178aabf965c0cc8722f07267f478e58c1f2a5e (patch) | |
tree | 507e0d00d61d1ba38d579ff10d3edf4b95957191 | |
parent | d83b0ef58d4f37a1eb99e7212e637778fa72c39e (diff) | |
download | gst-plugins-bad-ef178aabf965c0cc8722f07267f478e58c1f2a5e.tar.gz gst-plugins-bad-ef178aabf965c0cc8722f07267f478e58c1f2a5e.tar.bz2 gst-plugins-bad-ef178aabf965c0cc8722f07267f478e58c1f2a5e.zip |
ext/sdl/: Only de-init the subsystem we previously initialised. Avoids borkage when both sdlvideosink and sdlaudiosin...
Original commit message from CVS:
Patch by: Andrew Andkjar <enki at goodship net>
* ext/sdl/sdlaudiosink.c: (gst_sdlaudio_sink_close):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_supported),
(gst_sdlvideosink_deinitsdl):
Only de-init the subsystem we previously initialised. Avoids
borkage when both sdlvideosink and sdlaudiosink are used
at the same time and one is shut down.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | ext/sdl/sdlaudiosink.c | 2 | ||||
-rw-r--r-- | ext/sdl/sdlvideosink.c | 4 |
3 files changed, 14 insertions, 3 deletions
@@ -1,3 +1,14 @@ +2006-08-29 Tim-Philipp Müller <tim at centricular dot net> + + Patch by: Andrew Andkjar <enki at goodship net> + + * ext/sdl/sdlaudiosink.c: (gst_sdlaudio_sink_close): + * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_supported), + (gst_sdlvideosink_deinitsdl): + Only de-init the subsystem we previously initialised. Avoids + borkage when both sdlvideosink and sdlaudiosink are used + at the same time and one is shut down. + 2006-08-28 Wim Taymans <wim@fluendo.com> * gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment), diff --git a/ext/sdl/sdlaudiosink.c b/ext/sdl/sdlaudiosink.c index fb97c435..85bcd4d2 100644 --- a/ext/sdl/sdlaudiosink.c +++ b/ext/sdl/sdlaudiosink.c @@ -284,7 +284,7 @@ gst_sdlaudio_sink_close (GstAudioSink * asink) sdlaudio->eos = TRUE; SEMAPHORE_UP (sdlaudio->semA); SEMAPHORE_UP (sdlaudio->semB); - SDL_Quit (); + SDL_QuitSubSystem (SDL_INIT_AUDIO); return TRUE; } diff --git a/ext/sdl/sdlvideosink.c b/ext/sdl/sdlvideosink.c index 9b3df778..de796ea3 100644 --- a/ext/sdl/sdlvideosink.c +++ b/ext/sdl/sdlvideosink.c @@ -338,7 +338,7 @@ gst_sdlvideosink_supported (GstImplementsInterface * interface, /* True if the video driver is X11 */ result = (strcmp ("x11", SDL_VideoDriverName (tmp, 4)) == 0); - SDL_Quit (); + SDL_QuitSubSystem (SDL_INIT_VIDEO); g_mutex_unlock (sdlvideosink->lock); } else result = sdlvideosink->is_xwindows; @@ -484,7 +484,7 @@ gst_sdlvideosink_deinitsdl (GstSDLVideoSink * sdlvideosink) sdlvideosink->event_thread = NULL; } - SDL_Quit (); + SDL_QuitSubSystem (SDL_INIT_VIDEO); sdlvideosink->init = FALSE; } |