summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2010-11-10 16:51:35 +0000
committerjstebbins <[email protected]>2010-11-10 16:51:35 +0000
commit98d004a546fd76f8e57e132a3faafa04135e5e3f (patch)
tree7ba0f5bdb576cb058461e22d2433d5cfcac8e73f /libhb/stream.c
parentb1e9e6da2cc081b800dd19433e2bbed54c96e0bc (diff)
bump ffmpeg from r25374 to r25689
brings back LATM support git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3669 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/stream.c')
-rw-r--r--libhb/stream.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/libhb/stream.c b/libhb/stream.c
index 204baa7b0..32d407735 100644
--- a/libhb/stream.c
+++ b/libhb/stream.c
@@ -58,11 +58,7 @@ static const stream2codec_t st2codec[256] = {
st(0x0e, N, 0, 0, "ISO 13818-1 auxiliary"),
st(0x0f, A, HB_ACODEC_MPGA, CODEC_ID_AAC, "ISO 13818-7 AAC Audio"),
st(0x10, V, WORK_DECAVCODECV, CODEC_ID_MPEG4, "MPEG4"),
-#if defined(OLD_LATM_PATCH)
st(0x11, A, HB_ACODEC_MPGA, CODEC_ID_AAC_LATM, "MPEG4 LATM AAC"),
-#else
- st(0x11, N, 0, 0, "MPEG4 LATM AAC"),
-#endif
st(0x12, U, 0, 0, "MPEG4 generic"),
st(0x14, N, 0, 0, "ISO 13818-6 DSM-CC download"),
@@ -2997,6 +2993,7 @@ static void add_ffmpeg_audio( hb_title_t *title, hb_stream_t *stream, int id )
{
AVStream *st = stream->ffmpeg_ic->streams[id];
AVCodecContext *codec = st->codec;
+ AVMetadataTag *tag;
int layout;
// scan will ignore any audio without a bitrate. Since we've already
@@ -3031,7 +3028,9 @@ static void add_ffmpeg_audio( hb_title_t *title, hb_stream_t *stream, int id )
audio->config.in.channel_layout = layout;
}
- set_audio_description( audio, lang_for_code2( st->language ) );
+ tag = av_metadata_get( st->metadata, "language", NULL, 0 );
+ set_audio_description( audio,
+ lang_for_code2( tag ? tag->value : "und" ) );
hb_list_add( title->list_audio, audio );
}
@@ -3199,7 +3198,11 @@ static void add_ffmpeg_subtitle( hb_title_t *title, hb_stream_t *stream, int id
return;
}
- iso639_lang_t *language = lang_for_code2( st->language );
+ AVMetadataTag *tag;
+ iso639_lang_t *language;
+
+ tag = av_metadata_get( st->metadata, "language", NULL, 0 );
+ language = lang_for_code2( tag ? tag->value : "und" );
strcpy( subtitle->lang, language->eng_name );
strncpy( subtitle->iso639_2, language->iso639_2, 4 );
@@ -3330,6 +3333,7 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *stream )
for( i = 0; i < ic->nb_chapters; i++ )
if( ( m = ic->chapters[i] ) != NULL )
{
+ AVMetadataTag *tag;
hb_chapter_t * chapter;
chapter = calloc( sizeof( hb_chapter_t ), 1 );
chapter->index = i+1;
@@ -3338,7 +3342,8 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *stream )
chapter->hours = chapter->duration / 90000 / 3600;
chapter->minutes = ( ( chapter->duration / 90000 ) % 3600 ) / 60;
chapter->seconds = ( chapter->duration / 90000 ) % 60;
- strcpy( chapter->title, m->title );
+ tag = av_metadata_get( m->metadata, "title", NULL, 0 );
+ strcpy( chapter->title, tag ? tag->value : "" );
hb_deep_log( 2, "Added chapter %i, name='%s', dur=%"PRIu64", (%02i:%02i:%02i)",
chapter->index, chapter->title,
chapter->duration, chapter->hours,