diff options
author | Benjamin Otte <otte@gnome.org> | 2008-12-16 12:58:22 +0100 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2008-12-16 12:58:22 +0100 |
commit | 65f9f907d95568fe4d2e108b40912d6bed5ee7a9 (patch) | |
tree | 1b98ee56303517ad10a49e93b1ff9be0da7e62d3 | |
parent | cfdde594b5bbed06a174c49fedce062dfc2fc646 (diff) |
fix small bugs in the H264 GStreamer implementation
-rw-r--r-- | swfdec/swfdec_codec_gst.c | 1 | ||||
-rw-r--r-- | swfdec/swfdec_video_decoder_gst.c | 11 |
2 files changed, 8 insertions, 4 deletions
diff --git a/swfdec/swfdec_codec_gst.c b/swfdec/swfdec_codec_gst.c index c0ad4b08..4eef8d93 100644 --- a/swfdec/swfdec_codec_gst.c +++ b/swfdec/swfdec_codec_gst.c @@ -278,6 +278,7 @@ swfdec_gst_decoder_set_codec_data (SwfdecGstDecoder *dec, GstCaps *caps; caps = gst_pad_get_caps (dec->src); + caps = gst_caps_make_writable (caps); if (buffer) { gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, buffer, NULL); } else { diff --git a/swfdec/swfdec_video_decoder_gst.c b/swfdec/swfdec_video_decoder_gst.c index 0bd18cfc..07f48284 100644 --- a/swfdec/swfdec_video_decoder_gst.c +++ b/swfdec/swfdec_video_decoder_gst.c @@ -126,11 +126,14 @@ swfdec_video_decoder_gst_set_codec_data (SwfdecVideoDecoder *dec, SwfdecBuffer *buffer) { SwfdecVideoDecoderGst *player = SWFDEC_VIDEO_DECODER_GST (dec); - GstBuffer *buf; - buf = swfdec_gst_buffer_new (swfdec_buffer_ref (buffer)); - swfdec_gst_decoder_set_codec_data (&player->dec, buf); - gst_buffer_unref (buf); + if (buffer) { + GstBuffer *buf = swfdec_gst_buffer_new (swfdec_buffer_ref (buffer)); + swfdec_gst_decoder_set_codec_data (&player->dec, buf); + gst_buffer_unref (buf); + } else { + swfdec_gst_decoder_set_codec_data (&player->dec, NULL); + } } static void |