search for: gstbuffer

Displaying 10 results from an estimated 10 matches for "gstbuffer".

Did you mean: getbuffer
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
...* BUFFER ***/ -/*** AUDIO ***/ +static void +swfdec_gst_buffer_free (unsigned char *data, gpointer priv) +{ + gst_buffer_unref (priv); +} -typedef struct _SwfdecGstAudio SwfdecGstAudio; -struct _SwfdecGstAudio { - SwfdecAudioDecoder decoder; +static SwfdecBuffer * +swfdec_buffer_new_from_gst (GstBuffer *buffer) +{ + SwfdecBuffer *ret; - GMutex * mutex; /* mutex that blocks everything below */ - GCond * cond; /* cond used to signal when stuff below changes */ - volatile int refcount; /* refcount (d'oh) */ + g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL); - GstElement * p...
2007 Apr 08
0
libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_gst.c
...) { + while (!player->done) + swfdec_cond_wait (player->cond, player->mutex); + } + buffer = swfdec_buffer_queue_pull_buffer (player->out); + g_mutex_unlock (player->mutex); + return buffer; +} + +static void +swfdec_audio_decoder_gst_fakesrc_handoff (GstElement *fakesrc, GstBuffer *buf, + GstPad *pad, SwfdecGstAudio *player) +{ + g_mutex_lock (player->mutex); + while (player->pipeline != NULL && player->in == NULL && player->eof == FALSE) + swfdec_cond_wait (player->cond, player->mutex); + if (player->pipeline == NULL) { + g_...
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
...only set caps if there are none set yet diff --git a/libswfdec/swfdec_codec_gst.c b/libswfdec/swfdec_codec_gst.c index cd2d02e..b449533 100644 --- a/libswfdec/swfdec_codec_gst.c +++ b/libswfdec/swfdec_codec_gst.c @@ -272,7 +272,16 @@ static gboolean swfdec_gst_decoder_push (SwfdecGstDecoder *dec, GstBuffer *buffer) { GstFlowReturn ret; - gst_buffer_set_caps (buffer, GST_PAD_CAPS (dec->src)); + GstCaps *caps; + + /* set caps if none set yet */ + caps = gst_buffer_get_caps (buffer); + if (caps) { + gst_caps_unref (caps); + } else { + gst_buffer_set_caps (buffer, GST_PAD_CAPS (dec-&gt...
2007 Mar 22
1
Integrating Swfdec and GStreamer
Hi, I've recently been looking at integrating Swfdec and GStreamer. There are some issues I'd like advice on. In order of importance for me: 1) Using GStreamer codecs Swfdec currently has a simple API for decoding data that looks like GstBuffer *decode_next_buffer (Decoder *dec, GstBuffer *input); [1] Which is used to decode video (VP6 and Sorensen Squeeze/H263 to RGBA) and audio (MP3, Nellymoser to 44kHz raw audio). The decoding API can't include demuxers (like FLV), since those demuxers trigger script events [2], and I need to...
2007 Apr 05
0
configure.ac libswfdec/Makefile.am libswfdec/swfdec_codec.c libswfdec/swfdec_codec_gst.c
...yer->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 (player->mutex); + while (player->pipeline != NULL && player->in == NULL) + swfdec_cond_wait (player->cond, player->mutex); + if (player->pipeline == NULL) { + g_mutex_unlock (player->mutex); +...
2007 Oct 28
0
9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_audio_internal.h libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_sound.c
..._new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, caps); + sinkpad = gst_pad_new_from_template (tmpl, "sink"); + g_object_unref (tmpl); if (gst_pad_link (srcpad, sinkpad) != GST_PAD_LINK_OK) goto error; @@ -279,6 +283,12 @@ swfdec_gst_decoder_push (SwfdecGstDecoder *dec, GstBuffer *buffer) if (caps) { gst_caps_unref (caps); } else { + caps = GST_PAD_CAPS (dec->src); + if (caps == NULL) { + caps = (GstCaps *) gst_pad_get_pad_template_caps (dec->src); + g_assert (gst_caps_is_fixed (caps)); + gst_pad_set_caps (dec->src, caps); + }...
2008 Jun 07
2
[PATCH] fix issues from latest commits
hi, attacched a couple of patches that fix: - a variable may be used unitialized in swfdec_audio_decoder.c - swfdec_init.c got referenced in swfdec/Makefile.am but it's not in git, i've removed it but maybe the right fix is to add it instead Still not able to compile swfdec (shadow warnings), will follow other patches if you don't beat me to it. cheers, rm -------------- next
2008 Jan 10
0
8 commits - libswfdec/swfdec_as_date.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_bits.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_text_field_movie_html.c test/trace
...492,7 @@ swfdec_video_decoder_gst_decode (SwfdecVideoDecoder *dec, SwfdecBuffer *buffer, SwfdecVideoImage *image) { SwfdecGstVideo *player = (SwfdecGstVideo *) dec; -#define ALIGN(x, n) (((x) + (n) - 1) & (~((n) - 1))) +#define SWFDEC_ALIGN(x, n) (((x) + (n) - 1) & (~((n) - 1))) GstBuffer *buf; GstCaps *caps; GstStructure *structure; @@ -542,17 +542,18 @@ swfdec_video_decoder_gst_decode (SwfdecVideoDecoder *dec, SwfdecBuffer *buffer, break; case SWFDEC_VIDEO_FORMAT_I420: image->plane[0] = buf->data; - image->rowstride[0] = ALIGN (image->widt...
2016 May 27
0
Wine release 1.9.11
...alize QualityControl struct on allocation. dsound: Allow inactive devices to change the primary format. dsound: Support downmixing 5.1 to stereo. dsound: Support downmixing quadraphonic to stereo. winegstreamer: Fix IQualityControl::Notify. winegstreamer: Set offset on GstBuffer. Andrey Gusev (26): kernel32/tests: Fix a typo in comment. secur32: Fix a typo in comment. comctl32/tests: Fix a typo in ok() call. riched20: Fix a typo in TRACE() message. d3d11/tests: Fix a typo in define. msvcp90: Fix a typo in comment. ole32: Fix a typ...
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
...turn 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_handoff (GstElement *fakesrc, GstBuffer *buf, GstPad *pad, SwfdecGstVideo *player) { g_mutex_lock (player->mutex); + if (player->out_next) { + player->error = TRUE; + g_cond_signal (player->cond); + g_mutex_unlock (player->mutex); + return; + } while (player->pipeline != NULL && player...