diff -r 710c4cfe5ccd -r 116e4fac8e96 gst-plugins-mythtv/src/gstmythtvsrc.c --- a/gst-plugins-mythtv/src/gstmythtvsrc.c Thu Mar 08 23:43:33 2007 +0000 +++ b/gst-plugins-mythtv/src/gstmythtvsrc.c Thu Mar 22 22:02:12 2007 +0000 @@ -408,11 +408,11 @@ GST_DEBUG_OBJECT (src, "Create: buffer_remain: %d, buffer_size = %d.", (gint) src->buffer_remain, src->bytes_queue->len); +program_chain_changed: /* just get from the byte array, no network effort... */ if ((src->buffer_remain = src->bytes_queue->len) < MAX_READ_SIZE) { GByteArray *buffer; -program_chain_changed: buffer = NULL; guint buffer_size_inter = (INTERNAL_BUFFER_SIZE - src->buffer_remain); @@ -430,7 +430,7 @@ buffer = NULL; } - if (src->live_tv) + if (src->live_tv || ( read == GMYTHTV_FILE_TRANSFER_NEXT_PROG_CHAIN )) goto change_progchain; else goto read_error; @@ -444,7 +444,7 @@ if (!src->live_tv) goto done; else - goto change_progchain; + goto program_chain_changed; } if (G_UNLIKELY (src->update_prog_chain)) @@ -549,6 +549,7 @@ src->uri_name)); /* + TODO: need to send a new segment event to NUVDemux? gst_pad_push_event (GST_BASE_SRC_PAD (GST_BASE_SRC (psrc)), gst_event_new_new_segment (TRUE, 1.0, GST_FORMAT_TIME, 0, -1, 0)); */