[Swfdec-commits] Branch '0.6' - 2 commits - swfdec/swfdec_net_stream.c

Benjamin Otte company at kemper.freedesktop.org
Wed May 14 08:46:43 PDT 2008


 swfdec/swfdec_net_stream.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 5dcacb87f3098ff9603f75ba5d25526c4f3696a1
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed May 14 17:45:12 2008 +0200

    more places where the FLV decoder can be gone (fixes #15932)

diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c
index 39b5463..5e057bf 100644
--- a/swfdec/swfdec_net_stream.c
+++ b/swfdec/swfdec_net_stream.c
@@ -108,6 +108,8 @@ swfdec_net_stream_video_goto (SwfdecNetStream *stream, guint timestamp)
     cairo_surface_destroy (stream->surface);
     stream->surface = NULL;
   }
+  if (stream->flvdecoder == NULL)
+    return;
   if (stream->flvdecoder->video) {
     buffer = swfdec_flv_decoder_get_video (stream->flvdecoder, timestamp,
 	FALSE, &format, &stream->current_time, &stream->next_time);
@@ -142,7 +144,7 @@ swfdec_net_stream_video_goto (SwfdecNetStream *stream, guint timestamp)
     swfdec_net_stream_update_playing (stream);
   }
   if (process_events) {
-    while (process_events_from <= stream->current_time) {
+    while (stream->flvdecoder && process_events_from <= stream->current_time) {
       SwfdecAsValue name, value;
       SwfdecBits bits;
       SwfdecBuffer *event = swfdec_flv_decoder_get_data (stream->flvdecoder, process_events_from, &process_events_from);
commit bd1aff30e24967543069d0a1c27241860dd18682
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed May 14 17:31:10 2008 +0200

    check the onStatus event emission didn't remove the FLV decoder (fixes #15932)

diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c
index 5db95d8..39b5463 100644
--- a/swfdec/swfdec_net_stream.c
+++ b/swfdec/swfdec_net_stream.c
@@ -303,6 +303,8 @@ swfdec_net_stream_stream_target_close (SwfdecStreamTarget *target,
   swfdec_decoder_eof (SWFDEC_DECODER (ns->flvdecoder));
   swfdec_net_stream_onstatus (ns, SWFDEC_AS_STR_NetStream_Buffer_Flush,
       SWFDEC_AS_STR_status);
+  if (ns->flvdecoder == NULL)
+    return;
   swfdec_net_stream_video_goto (ns, ns->current_time);
   ns->buffering = FALSE;
   if (swfdec_flv_decoder_get_video_info (ns->flvdecoder, &first, &last) &&


More information about the Swfdec-commits mailing list