push_buf( r, audio->priv.fifo_in, hb_buffer_init(0) );
}
+ hb_subtitle_t *subtitle;
+ for( n = 0; ( subtitle = hb_list_item( r->job->title->list_subtitle, n ) ); ++n )
+ {
+ if ( subtitle->fifo_in && subtitle->source == VOBSUB)
+ push_buf( r, subtitle->fifo_in, hb_buffer_init(0) );
+ }
+
hb_list_empty( &list );
hb_buffer_close( &ps );
if (r->dvd)
}
}
- if( job->indepth_scan ) {
- /*
- * Count the occurances of the subtitles, don't actually
- * return any to encode unless we are looking fro forced
- * subtitles in which case we need to look in the sub picture
- * to see if it has the forced flag enabled.
- */
- for (i=0; i < hb_list_count(title->list_subtitle); i++) {
- subtitle = hb_list_item( title->list_subtitle, i);
- if (id == subtitle->id) {
+ for( i=0; i < hb_list_count( title->list_subtitle ); i++ ) {
+ subtitle = hb_list_item( title->list_subtitle, i );
+ if (id == subtitle->id) {
+ subtitle->hits++;
+ if( !job->indepth_scan || job->subtitle_force )
+ {
/*
- * A hit, count it.
+ * Pass the subtitles to be processed if we are not scanning, or if
+ * we are scanning and looking for forced subs, then pass them up
+ * to decode whether the sub is a forced one.
*/
- subtitle->hits++;
- if( job->subtitle_force )
- {
-
- fifos[0] = subtitle->fifo_in;
- return fifos;
- }
- break;
+ fifos[0] = subtitle->fifo_in;
+ return fifos;
}
- }
- } else {
- if( ( subtitle = hb_list_item( title->list_subtitle, 0 ) ) &&
- id == subtitle->id )
- {
- fifos[0] = subtitle->fifo_in;
- return fifos;
+ break;
}
}
+
if( !job->indepth_scan )
{
n = 0;