OSDN Git Service
(root)
/
handbrake-jp
/
handbrake-jp-git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LinGui: fix a problem with running mingw cross compiled ghb under wine
[handbrake-jp/handbrake-jp-git.git]
/
libhb
/
reader.c
diff --git
a/libhb/reader.c
b/libhb/reader.c
index
e034537
..
88617f9
100644
(file)
--- a/
libhb/reader.c
+++ b/
libhb/reader.c
@@
-343,7
+343,7
@@
static void ReaderFunc( void * _r )
// force a new scr offset computation
r->scr_changes = r->demux.scr_changes - 1;
r->saw_video = 1;
// force a new scr offset computation
r->scr_changes = r->demux.scr_changes - 1;
r->saw_video = 1;
- hb_log( "reader: first SCR %
lld"
, r->demux.last_scr );
+ hb_log( "reader: first SCR %
"PRId64
, r->demux.last_scr );
}
else
{
}
else
{
@@
-408,6
+408,8
@@
static void ReaderFunc( void * _r )
// packet of a stream we've never seen before. We
// have no idea what the timing should be so toss
// this buffer & wait for a stream we've already seen.
// packet of a stream we've never seen before. We
// have no idea what the timing should be so toss
// this buffer & wait for a stream we've already seen.
+ // add stream to list of streams we have seen
+ id_to_st( r, buf );
hb_buffer_close( &buf );
continue;
}
hb_buffer_close( &buf );
continue;
}
@@
-457,6
+459,13
@@
static void ReaderFunc( void * _r )
push_buf( r, audio->priv.fifo_in, hb_buffer_init(0) );
}
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)
hb_list_empty( &list );
hb_buffer_close( &ps );
if (r->dvd)
@@
-494,8
+503,8
@@
static hb_fifo_t ** GetFifoForId( hb_job_t * job, int id )
hb_title_t * title = job->title;
hb_audio_t * audio;
hb_subtitle_t * subtitle;
hb_title_t * title = job->title;
hb_audio_t * audio;
hb_subtitle_t * subtitle;
- int i, n;
- static hb_fifo_t * fifos[
8
];
+ int i, n
, count
;
+ static hb_fifo_t * fifos[
100
];
memset(fifos, 0, sizeof(fifos));
memset(fifos, 0, sizeof(fifos));
@@
-516,23
+525,28
@@
static hb_fifo_t ** GetFifoForId( hb_job_t * job, int id )
}
}
}
}
- for( i=0; i < hb_list_count( title->list_subtitle ); i++ ) {
+ n = 0;
+ count = hb_list_count( title->list_subtitle );
+ count = count > 99 ? 99 : count;
+ for( i=0; i < count; i++ ) {
subtitle = hb_list_item( title->list_subtitle, i );
if (id == subtitle->id) {
subtitle->hits++;
subtitle = hb_list_item( title->list_subtitle, i );
if (id == subtitle->id) {
subtitle->hits++;
- if( !job->indepth_scan || job->s
ubtitle_
force )
+ if( !job->indepth_scan || job->s
elect_subtitle_config.
force )
{
/*
* 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.
*/
{
/*
* 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.
*/
- fifos[0] = subtitle->fifo_in;
- return fifos;
+ fifos[n++] = subtitle->fifo_in;
}
}
- break;
}
}
}
}
+ if ( n != 0 )
+ {
+ return fifos;
+ }
if( !job->indepth_scan )
{
if( !job->indepth_scan )
{