bd_seek(d->bd, packet * 192);
d->next_chap = bd_get_current_chapter( d->bd ) + 1;
+ hb_ts_stream_reset(d->stream);
return 1;
}
int hb_bd_main_feature( hb_bd_t * d, hb_list_t * list_title );
hb_stream_t * hb_bd_stream_open( hb_title_t *title );
+void hb_ts_stream_reset(hb_stream_t *stream);
hb_stream_t * hb_stream_open( char * path, hb_title_t *title, int scan );
void hb_stream_close( hb_stream_t ** );
hb_title_t * hb_stream_title_scan( hb_stream_t *, hb_title_t *);
static void hb_ts_stream_init(hb_stream_t *stream);
static void hb_ts_stream_find_pids(hb_stream_t *stream);
static hb_buffer_t * hb_ts_stream_decode(hb_stream_t *stream);
-static void hb_ts_stream_reset(hb_stream_t *stream);
static void hb_ts_stream_set_audio_list(hb_list_t *list_audio, hb_stream_t *stream);
static void hb_ps_stream_find_audio_ids(hb_stream_t *stream, hb_title_t *title);
static off_t align_to_next_packet(hb_stream_t *stream);
// We need to drop the current decoder output and move
// forwards to the next transport stream packet.
hb_ts_stream_reset(stream);
+ align_to_next_packet(stream);
if ( f > 0 )
{
if ( stream->ts_IDRs )
return NULL;
}
-static void hb_ts_stream_reset(hb_stream_t *stream)
+void hb_ts_stream_reset(hb_stream_t *stream)
{
int i;
stream->errors = 0;
stream->last_error_frame = -10000;
stream->last_error_count = 0;
-
- align_to_next_packet(stream);
}
// ------------------------------------------------------------------