Displaying 11 results from an estimated 11 matches for "g_mutex_unlock".
2007 Apr 08
0
libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_gst.c
...;
+}
+
+static void
+swfdec_audio_decoder_gst_free (SwfdecAudioDecoder *dec)
+{
+ SwfdecGstAudio *player = (SwfdecGstAudio *) dec;
+ GstElement *pipeline;
+
+ g_mutex_lock (player->mutex);
+ pipeline = player->pipeline;
+ player->pipeline = NULL;
+ g_cond_signal (player->cond);
+ g_mutex_unlock (player->mutex);
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ g_object_unref (pipeline);
+
+ swfdec_gst_audio_unref (player, NULL);
+}
+
+static void
+swfdec_audio_decoder_gst_push (SwfdecAudioDecoder *dec, SwfdecBuffer *buffer)
+{
+ SwfdecGstAudio *player = (SwfdecGstAudio *) dec;...
2007 Apr 05
0
configure.ac libswfdec/Makefile.am libswfdec/swfdec_codec.c libswfdec/swfdec_codec_gst.c
...stVideo, player);
+}
+
+static void
+swfdec_codec_gst_video_finish (gpointer codec_data)
+{
+ SwfdecGstVideo *player = codec_data;
+ GstElement *pipeline;
+
+ g_mutex_lock (player->mutex);
+ pipeline = player->pipeline;
+ player->pipeline = NULL;
+ g_cond_signal (player->cond);
+ g_mutex_unlock (player->mutex);
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ g_object_unref (pipeline);
+
+ swfdec_gst_video_unref (player, NULL);
+}
+
+static void
+swfdec_codec_gst_fakesrc_handoff (GstElement *fakesrc, GstBuffer *buf,
+ GstPad *pad, SwfdecGstVideo *player)
+{
+ g_mutex_lock...
2007 Apr 06
0
3 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_codec.c libswfdec/swfdec_codec_ffmpeg.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_codec.h libswfdec/swfdec_codec_screen.c libswfdec/swfdec_codec_video.c
...gt;error) {
+ swfdec_cond_wait (player->cond, player->mutex);
+ }
+ player->in = buffer;
+ g_cond_signal (player->cond);
+ while (player->out == NULL && !player->error) {
+ swfdec_cond_wait (player->cond, player->mutex);
+ }
+ if (player->error) {
+ g_mutex_unlock (player->mutex);
+ return NULL;
+ }
+ buffer = player->out;
+ player->out = NULL;
+ *width = player->width;
+ *height = player->height;
+ *rowstride = player->width * 4;
+ g_mutex_unlock (player->mutex);
+ return buffer;
+}
+
static void
swfdec_codec_gst_fakesrc_ha...
2007 Oct 26
0
6 commits - configure.ac libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_codec_video.c player/swfplay.c
...eature *feature, gpointer caps)
{
- SwfdecGstAudio *player = (SwfdecGstAudio *) dec;
- GstElement *pipeline;
+ const GList *walk;
+ const gchar *klass;
- g_mutex_lock (player->mutex);
- pipeline = player->pipeline;
- player->pipeline = NULL;
- g_cond_signal (player->cond);
- g_mutex_unlock (player->mutex);
- gst_element_set_state (pipeline, GST_STATE_NULL);
- g_object_unref (pipeline);
+ /* we only care about element factories */
+ if (!GST_IS_ELEMENT_FACTORY (feature))
+ return FALSE;
+
+ /* only decoders are interesting */
+ klass = gst_element_factory_get_klass (GST_EL...
2007 Oct 28
1
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_object.c libswfdec/swfdec_codec_gst.c test/trace
..._slice_free (SwfdecGstVideo, player);
-}
-
-static void
swfdec_video_decoder_gst_free (SwfdecVideoDecoder *dec)
{
SwfdecGstVideo *player = (SwfdecGstVideo *) dec;
- GstElement *pipeline;
- pipeline = player->pipeline;
- player->pipeline = NULL;
- g_cond_signal (player->cond);
- g_mutex_unlock (player->mutex);
- gst_element_set_state (pipeline, GST_STATE_NULL);
- g_object_unref (pipeline);
+ swfdec_gst_decoder_finish (&player->dec);
+ if (player->last)
+ gst_buffer_unref (player->last);
- swfdec_gst_video_unref (player, NULL);
+ g_slice_free (SwfdecGstVideo, pl...
2007 Apr 05
0
4 commits - libswfdec/swfdec_audio_flv.c libswfdec/swfdec_audio_stream.c libswfdec/swfdec_codec_adpcm.c libswfdec/swfdec_codec.c libswfdec/swfdec_codec_ffmpeg.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_codec.h libswfdec/swfdec_codec_mad.c
...@@
#include "swfdec_codec.h"
#include "swfdec_debug.h"
-#if 0
+#if 1
#define swfdec_cond_wait(cond, mutex) G_STMT_START { \
g_print ("waiting at %s\n", G_STRLOC); \
g_cond_wait (cond, mutex); \
@@ -95,6 +95,7 @@ swfdec_codec_gst_fakesrc_handoff (GstEle
g_mutex_unlock (player->mutex);
return;
}
+ g_print ("got one\n");
buf->data = g_memdup (player->in->data, player->in->length);
buf->size = player->in->length;
gst_buffer_set_caps (buf, player->srccaps);
@@ -124,6 +125,7 @@ swfdec_codec_gst_fakesink_handof...
2016 Nov 17
2
[Bug 98763] New: Lots of crashes of kontact /kmail5
...ad::exec() () at /usr/lib64/libQt5Core.so.5
#6 0x00007f2a4521f9e9 in () at /usr/lib64/libQt5Core.so.5
#7 0x00007f2a40853734 in start_thread () at /lib64/libpthread.so.0
#8 0x00007f2a4491cd3d in clone () at /lib64/libc.so.6
Thread 47 (Thread 0x7f28b37fe700 (LWP 5273)):
#0 0x00007f2a3fc577d4 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0
#1 0x00007f2a3fc16436 in g_main_context_iteration () at
/usr/lib64/libglib-2.0.so.0
#2 0x00007f2a4543232b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib64/libQt5Core.so.5
#3 0x00007f2a453dffdb in
QEventLoop::ex...
2007 Jul 02
0
Branch 'as' - 24 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...79,17 +182,27 @@ run_test (Test *test)
g_string_append (output, " OK\n");
test->success = TRUE;
fail:
+ if (test->mutex)
+ g_mutex_lock (test->mutex);
test->output = g_string_free (output, FALSE);
+ if (test->mutex) {
+ g_cond_signal (test->cond);
+ g_mutex_unlock (test->mutex);
+ }
}
int
main (int argc, char **argv)
{
GList *walk, *tests = NULL;
- GString *failed_tests = g_string_new ("");
+ GString *failed_tests;
guint failures = 0;
+ GThreadPool *pool;
+ GError *error = NULL;
+ g_thread_init (NULL);
swfdec_init ();
+ f...
2017 Jan 05
1
[Bug 99282] New: KDE kontact crashes always
...ThreadPrivate::start(void*) () from
/lib64/libQt5Core.so.5
#14 0x00007f2170ccd6ca in start_thread (arg=0x7f2011248700) at
pthread_create.c:333
#15 0x00007f2178e83f6f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:105
Thread 35 (Thread 0x7f2011c56700 (LWP 7112)):
#0 0x00007f216c28e814 in g_mutex_unlock () from /lib64/libglib-2.0.so.0
#1 0x00007f216c248b25 in g_main_context_check () from /lib64/libglib-2.0.so.0
#2 0x00007f216c2490f4 in g_main_context_iterate.isra () from
/lib64/libglib-2.0.so.0
#3 0x00007f216c24926c in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#4 0x00007f2179c7e...
2008 Jan 08
0
9 commits - configure.ac test/custom test/Makefile.am test/swfdec_test_initialize.as test/swfdec_test_initialize.h test/swfdec_test_test.c test/trace
...ppend (output, " OK\n");
- test->success = TRUE;
-fail:
- if (inter)
- swfdec_interaction_free (inter);
- if (test->mutex)
- g_mutex_lock (test->mutex);
- test->output = g_string_free (output, FALSE);
- if (test->mutex) {
- g_cond_signal (test->cond);
- g_mutex_unlock (test->mutex);
- }
-}
-
-int
-main (int argc, char **argv)
-{
- GList *walk, *tests = NULL;
- GString *failed_tests;
- guint failures = 0;
- GThreadPool *pool;
- GError *error = NULL;
-
- g_log_set_always_fatal (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING);
- g_thread_...
2016 Oct 04
28
[Bug 98039] New: KMail crash on starting (nouveau-related)
...0
#5 0x00007ff6ce2282e8 in QThreadPrivate::start(void*) (arg=0x10ed210) at
thread/qthread_unix.cpp:341
#6 0x00007ff6c37a9454 in start_thread () at /lib64/libpthread.so.0
#7 0x00007ff6cd91f3ff in clone () at /lib64/libc.so.6
Thread 8 (Thread 0x7ff6875e0700 (LWP 12031)):
#0 0x00007ff6c2fc8ea4 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0
#1 0x00007ff6c2f82d6c in g_main_context_prepare () at
/usr/lib64/libglib-2.0.so.0
#2 0x00007ff6c2f8379b in () at /usr/lib64/libglib-2.0.so.0
#3 0x00007ff6c2f8398c in g_main_context_iteration () at
/usr/lib64/libglib-2.0.so.0
#4 0x00007ff6ce455aab in
QEventDisp...