X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Fdecsrtsub.c;h=fa3b9c4689e6e3f4965136ad83947e92466fb1ab;hb=91808a1f62713db501fada2de3ba4fcabfff0b7a;hp=1bb540aa076e240286be2fc8a5c011af46232516;hpb=1c9c75d452c8d15ee972b4c4612763f9b95b1790;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/decsrtsub.c b/libhb/decsrtsub.c index 1bb540aa..fa3b9c46 100644 --- a/libhb/decsrtsub.c +++ b/libhb/decsrtsub.c @@ -237,7 +237,8 @@ static hb_buffer_t *srt_read( hb_work_private_t *pv ) if( *pv->current_entry.text ) { long length; - char *p; + char *p, *q; + int line = 1; uint64_t start_time = ( pv->current_entry.start + pv->subtitle->config.offset ) * 90; uint64_t stop_time = ( pv->current_entry.stop + @@ -254,13 +255,32 @@ static hb_buffer_t *srt_read( hb_work_private_t *pv ) length = strlen( pv->current_entry.text ); - for( p = pv->current_entry.text; *p; p++) + for( q = p = pv->current_entry.text; *p; p++) { - if( *p == '\n' || *p == '\r' ) + if( *p == '\n' ) { - *p = ' '; + if ( line == 1 ) + { + *q = *p; + line = 2; + } + else + { + *q = ' '; + } + q++; + } + else if( *p != '\r' ) + { + *q = *p; + q++; + } + else + { + length--; } } + *q = '\0'; buffer = hb_buffer_init( length + 1 );