Displaying 17 results from an estimated 17 matches for "swfdec_buffer_queue_unref".
2007 Mar 29
0
Branch 'as' - 9 commits - configure.ac doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_stack.c
...otte@gnome.org>
Date: Wed Mar 28 22:38:10 2007 +0200
make SwfdecBuffer and SwfdecBufferQueue boxed types
- add and document the types
- change SwfdecBufferQueue to be refcounted
(most changes here are s/_buffer_queue_free/_buffer_queue_unref/
- break API by removing swfdec_buffer_queue_unref
diff --git a/configure.ac b/configure.ac
index 5309072..30801ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ else
fi
AC_DEFINE_UNQUOTED(SWFDEC_LEVEL_DEFAULT, $DEFAULT_DEBUG_LEVEL, [Default debug level used])
-SWFDEC_LIBVERSION="2:0:0"
+SWFDEC_LIBVERSION="3:0:0&...
2007 Apr 08
0
6 commits - libswfdec/Makefile.am libswfdec/swfdec_audio_flv.c libswfdec/swfdec_audio_flv.h libswfdec/swfdec_audio_stream.c libswfdec/swfdec_audio_stream.h libswfdec/swfdec_buffer.c libswfdec/swfdec_codec_adpcm.c libswfdec/swfdec_codec_audio.c
...(buffer)
- swfdec_buffer_queue_push (queue, buffer);
- }
- if (swfdec_buffer_queue_get_depth (queue)) {
- buffer = swfdec_buffer_queue_pull (queue,
- swfdec_buffer_queue_get_depth (queue));
- } else {
- buffer = NULL;
+ swfdec_buffer_queue_push (adpcm->queue, buffer);
}
- swfdec_buffer_queue_unref (queue);
- return buffer;
}
static SwfdecBuffer *
-swfdec_codec_adpcm_finish (gpointer data)
+swfdec_audio_decoder_adpcm_pull (SwfdecAudioDecoder *dec)
{
- return NULL;
-}
+ SwfdecAudioDecoderAdpcm *adpcm = (SwfdecAudioDecoderAdpcm *) dec;
-const SwfdecAudioCodec swfdec_codec_adpcm = {
-...
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
...swfdec_audio_decoder_get_format (decoder);
swfdec_audio_decoder_free (decoder);
depth = swfdec_buffer_queue_get_depth (queue);
if (depth == 0) {
@@ -204,7 +205,6 @@ swfdec_sound_get_decoded (SwfdecSound *sound, SwfdecAudioFormat *format)
tmp = swfdec_buffer_queue_pull (queue, depth);
swfdec_buffer_queue_unref (queue);
- sound->decoded_format = swfdec_audio_decoder_get_format (decoder);
sample_bytes = swfdec_audio_format_get_bytes_per_sample (sound->decoded_format);
n_samples = sound->n_samples / swfdec_audio_format_get_granularity (sound->decoded_format);
commit 43c2c77acd07323c9f...
2007 Oct 15
0
3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_codec_audio.h test/swfdec-extract.c
...ata,
wav->length, &error)) {
g_printerr ("Couldn't save sound to file \"%s\": %s\n", filename, error->message);
@@ -133,7 +148,7 @@ export_sprite_sound (SwfdecSprite *sprite, const char *filename)
}
buffer = swfdec_buffer_queue_pull (queue, depth);
swfdec_buffer_queue_unref (queue);
- wav = encode_wav (buffer);
+ wav = encode_wav (buffer, swfdec_audio_format_new (44100, 2, TRUE));
swfdec_buffer_unref (buffer);
if (!g_file_set_contents (filename, (char *) wav->data,
wav->length, &error)) {
commit 7477b57ae166cf3a1f08550637c20d4215fe3341
Author: Ben...
2007 Apr 08
0
libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_gst.c
...*unused)
+{
+ SwfdecGstAudio *player = data;
+
+ if (!g_atomic_int_dec_and_test (&player->refcount))
+ return;
+ g_cond_free (player->cond);
+ g_mutex_free (player->mutex);
+ gst_caps_unref (player->srccaps);
+ if (player->in)
+ swfdec_buffer_unref (player->in);
+ swfdec_buffer_queue_unref (player->out);
+ g_slice_free (SwfdecGstAudio, player);
+}
+
+static void
+swfdec_audio_decoder_gst_free (SwfdecAudioDecoder *dec)
+{
+ SwfdecGstAudio *player = (SwfdecGstAudio *) dec;
+ GstElement *pipeline;
+
+ g_mutex_lock (player->mutex);
+ pipeline = player->pipeline;
+ player-&...
2007 Oct 14
0
4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_sound.c test/trace
...swfdec_buffer_queue_pull (queue, swfdec_buffer_queue_get_depth (queue));
+ depth = swfdec_buffer_queue_get_depth (queue);
+ if (depth == 0) {
+ SWFDEC_ERROR ("decoding didn't produce any data, bailing");
+ return NULL;
+ }
+ tmp = swfdec_buffer_queue_pull (queue, depth);
swfdec_buffer_queue_unref (queue);
SWFDEC_LOG ("after decoding, got %u samples, should get %u and skip %u",
2007 Nov 12
0
13 commits - libswfdec/Makefile.am libswfdec/swfdec_decoder.c libswfdec/swfdec_decoder.h libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_flv_decoder.h libswfdec/swfdec_image.c libswfdec/swfdec_image_decoder.c libswfdec/swfdec_image_decoder.h
...swfdec_debug.h"
+#include "swfdec_image.h"
+
+G_DEFINE_TYPE (SwfdecImageDecoder, swfdec_image_decoder, SWFDEC_TYPE_DECODER)
+
+static void
+swfdec_image_decoder_dispose (GObject *object)
+{
+ SwfdecImageDecoder *image = SWFDEC_IMAGE_DECODER (object);
+
+ if (image->queue) {
+ swfdec_buffer_queue_unref (image->queue);
+ image->queue = NULL;
+ }
+
+ if (image->image) {
+ g_object_unref (image->image);
+ image->image = NULL;
+ }
+
+ G_OBJECT_CLASS (swfdec_image_decoder_parent_class)->dispose (object);
+}
+
+static SwfdecStatus
+swfdec_image_decoder_parse (SwfdecDecode...
2007 Dec 10
0
6 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_color_as.c libswfdec/swfdec_graphic_movie.c libswfdec/swfdec_image_decoder.c libswfdec/swfdec_morph_movie.c libswfdec/swfdec_movie_as_drawing.c
...ecoder_eof (SwfdecDecoder *dec)
{
SwfdecImageDecoder *image = SWFDEC_IMAGE_DECODER (dec);
SwfdecBuffer *buffer;
+ guint depth;
if (image->queue == NULL)
return 0;
- /* FIXME: size checking */
+ depth = swfdec_buffer_queue_get_depth (image->queue);
+ if (depth == 0) {
+ swfdec_buffer_queue_unref (image->queue);
+ image->queue = NULL;
+ return SWFDEC_STATUS_ERROR;
+ }
buffer = swfdec_buffer_queue_pull (image->queue,
swfdec_buffer_queue_get_depth (image->queue));
swfdec_buffer_queue_unref (image->queue);
commit e02f745d8268b7b3c61688d1202ef8372bfdf2a3
Autho...
2007 Apr 20
0
8 commits - libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h libswfdec/swfdec_root_sprite.c libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_tag.c NEWS test/parse.c
...created.
* Every buffer refers to a memory region and its size and takes care of
@@ -322,6 +324,13 @@ swfdec_buffer_queue_get_type (void)
return type_swfdec_buffer_queue;
}
+/**
+ * swfdec_buffer_queue_new:
+ *
+ * Creates a new empty buffer queue.
+ *
+ * Returns: a new buffer queue. Use swfdec_buffer_queue_unref () to free it.
+ **/
SwfdecBufferQueue *
swfdec_buffer_queue_new (void)
{
@@ -332,26 +341,65 @@ swfdec_buffer_queue_new (void)
return buffer_queue;
}
-int
+/**
+ * swfdec_buffer_queue_get_depth:
+ * @queue: a #SwfdecBufferQueue
+ *
+ * Returns the number of bytes currently in @queue.
+ *
+...
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
...s a zero-copy operation */
+ GstBuffer *ret;
- if (!g_atomic_int_dec_and_test (&player->refcount))
- return;
- g_cond_free (player->cond);
- g_mutex_free (player->mutex);
- gst_caps_unref (player->srccaps);
- if (player->in)
- swfdec_buffer_unref (player->in);
- swfdec_buffer_queue_unref (player->out);
- g_slice_free (SwfdecGstAudio, player);
+ g_return_val_if_fail (buffer != NULL , NULL);
+
+ ret = gst_buffer_new_and_alloc (buffer->length);
+ memcpy (GST_BUFFER_DATA (ret), buffer->data, buffer->length);
+
+ return ret;
}
-static void
-swfdec_audio_decoder_gst...
2007 Jul 31
0
10 commits - doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_buffer.c libswfdec/swfdec_debugger.c libswfdec/swfdec.h
...dif /* HAVE_GNOMEVFS */
diff --git a/libswfdec/swfdec_loader.c b/libswfdec/swfdec_loader.c
index aa41e59..65081d5 100644
--- a/libswfdec/swfdec_loader.c
+++ b/libswfdec/swfdec_loader.c
@@ -152,7 +152,7 @@ swfdec_loader_dispose (GObject *object)
SwfdecLoader *loader = SWFDEC_LOADER (object);
swfdec_buffer_queue_unref (loader->queue);
- g_free (loader->url);
+ swfdec_url_free (loader->url);
g_free (loader->error);
G_OBJECT_CLASS (swfdec_loader_parent_class)->dispose (object);
@@ -196,56 +196,42 @@ swfdec_loader_init (SwfdecLoader *loader
G_DEFINE_TYPE (SwfdecFileLoader, swfdec_file_load...
2008 Jan 07
0
12 commits - configure.ac doc/swfdec.types Makefile.am test/crashfinder.c test/dump.c test/Makefile.am test/swfdec-extract.c test/swfdec_out.c test/swfdec_out.h test/swfedit.c test/swfedit_file.c test/swfedit_file.h test/swfedit_list.c test/swfedit_list.h
...else
-#endif
- {
- swfdec_audio_render (audio, (gint16 *) (void *) buffer->data, 0, i);
- }
- i = swfdec_audio_iterate (audio, i);
- i = MIN (i, 4096);
- swfdec_buffer_queue_push (queue, buffer);
- }
- depth = swfdec_buffer_queue_get_depth (queue);
- if (depth == 0) {
- swfdec_buffer_queue_unref (queue);
- g_printerr ("Sprite contains no sound\n");
- return FALSE;
- }
- buffer = swfdec_buffer_queue_pull (queue, depth);
- swfdec_buffer_queue_unref (queue);
- wav = encode_wav (buffer, swfdec_audio_format_new (44100, 2, TRUE));
- swfdec_buffer_unref (buffer);
- if (!g_fi...
2007 Aug 01
0
9 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_frame.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_loader_internal.h libswfdec/swfdec_loadertarget.c libswfdec/swfdec_loadertarget.h libswfdec/swfdec_movie.c
...1d5..3ee70e4 100644
--- a/libswfdec/swfdec_loader.c
+++ b/libswfdec/swfdec_loader.c
@@ -151,6 +151,8 @@ swfdec_loader_dispose (GObject *object)
{
SwfdecLoader *loader = SWFDEC_LOADER (object);
+ /* targets are supposed to keep a reference around */
+ g_assert (loader->target == NULL);
swfdec_buffer_queue_unref (loader->queue);
swfdec_url_free (loader->url);
g_free (loader->error);
@@ -268,7 +270,15 @@ swfdec_loader_set_target (SwfdecLoader *
g_return_if_fail (SWFDEC_IS_LOADER (loader));
g_return_if_fail (target == NULL || SWFDEC_IS_LOADER_TARGET (target));
+ if (loader->target)...
2007 Mar 29
0
libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_audio_event.h libswfdec/swfdec_audio_flv.h libswfdec/swfdec_audio_stream.h libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h libswfdec/swfdec_cache.c
..._queue_pull_buffer (SwfdecBufferQueue * queue);
-SwfdecBuffer *swfdec_buffer_queue_peek (SwfdecBufferQueue * queue, unsigned int length);
+SwfdecBuffer *swfdec_buffer_queue_peek (SwfdecBufferQueue * queue, guint length);
SwfdecBufferQueue *swfdec_buffer_queue_ref (SwfdecBufferQueue * queue);
void swfdec_buffer_queue_unref (SwfdecBufferQueue * queue);
#endif
diff --git a/libswfdec/swfdec_cache.c b/libswfdec/swfdec_cache.c
index 0620b51..09d58a0 100644
--- a/libswfdec/swfdec_cache.c
+++ b/libswfdec/swfdec_cache.c
@@ -26,7 +26,7 @@
#include "swfdec_debug.h"
SwfdecCache *
-swfdec_cache_new (unsigned int m...
2007 Nov 07
0
36 commits - doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h
...ec/swfdec_flv_decoder.c b/libswfdec/swfdec_flv_decoder.c
index f35b8b3..4ba427e 100644
--- a/libswfdec/swfdec_flv_decoder.c
+++ b/libswfdec/swfdec_flv_decoder.c
@@ -88,7 +88,8 @@ swfdec_flv_decoder_dispose (GObject *object)
g_array_free (flv->data, TRUE);
flv->data = NULL;
}
-
+ swfdec_buffer_queue_unref (flv->queue);
+ flv->queue = NULL;
G_OBJECT_CLASS (swfdec_flv_decoder_parent_class)->dispose (object);
}
@@ -96,14 +97,12 @@ swfdec_flv_decoder_dispose (GObject *object)
static SwfdecStatus
swfdec_flv_decoder_parse_header (SwfdecFlvDecoder *flv)
{
- SwfdecDecoder *dec = SWFDEC_D...
2007 Mar 29
0
Branch 'as' - 9 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
..._queue_pull_buffer (SwfdecBufferQueue * queue);
-SwfdecBuffer *swfdec_buffer_queue_peek (SwfdecBufferQueue * queue, unsigned int length);
+SwfdecBuffer *swfdec_buffer_queue_peek (SwfdecBufferQueue * queue, guint length);
SwfdecBufferQueue *swfdec_buffer_queue_ref (SwfdecBufferQueue * queue);
void swfdec_buffer_queue_unref (SwfdecBufferQueue * queue);
#endif
diff --git a/libswfdec/swfdec_cache.c b/libswfdec/swfdec_cache.c
index 0620b51..09d58a0 100644
--- a/libswfdec/swfdec_cache.c
+++ b/libswfdec/swfdec_cache.c
@@ -26,7 +26,7 @@
#include "swfdec_debug.h"
SwfdecCache *
-swfdec_cache_new (unsigned int m...
2008 Jan 21
0
70 commits - configure.ac libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_loader.c libswfdec-gtk/swfdec_gtk_player.c libswfdec-gtk/swfdec_gtk_socket.c libswfdec-gtk/swfdec_gtk_socket.h libswfdec-gtk/swfdec_playback_alsa.c
...CKET (object)->target);
+
+ SWFDEC_AS_OBJECT_CLASS (swfdec_xml_socket_parent_class)->mark (object);
+}
+
+static void
+swfdec_xml_socket_dispose (GObject *object)
+{
+ SwfdecXmlSocket *xml = SWFDEC_XML_SOCKET (object);
+
+ swfdec_xml_socket_ensure_closed (xml);
+ if (xml->queue) {
+ swfdec_buffer_queue_unref (xml->queue);
+ xml->queue = NULL;
+ }
+
+ G_OBJECT_CLASS (swfdec_xml_socket_parent_class)->dispose (object);
+}
+
+static void
+swfdec_xml_socket_class_init (SwfdecXmlSocketClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ SwfdecAsObjectClass *as_object_clas...