{ { "32", 32 }, { "40", 40 }, { "48", 48 }, { "56", 56 },
{ "64", 64 }, { "80", 80 }, { "96", 96 }, { "112", 112 },
{ "128", 128 }, { "160", 160 }, { "192", 192 }, { "224", 224 },
- { "256", 256 }, { "320", 320 } };
+ { "256", 256 }, { "320", 320 }, { "384", 384 } };
int hb_audio_bitrates_count = sizeof( hb_audio_bitrates ) /
sizeof( hb_rate_t );
int hb_audio_bitrates_default = 8; /* 128 kbps */
+hb_mixdown_t hb_audio_mixdowns[] =
+{ { "Mono", "HB_AMIXDOWN_MONO", "mono", HB_AMIXDOWN_MONO },
+ { "Stereo", "HB_AMIXDOWN_STEREO", "stereo", HB_AMIXDOWN_STEREO },
+ { "Dolby Surround", "HB_AMIXDOWN_DOLBY", "dpl1", HB_AMIXDOWN_DOLBY },
+ { "Dolby Pro Logic II", "HB_AMIXDOWN_DOLBYPLII", "dpl2", HB_AMIXDOWN_DOLBYPLII },
+ { "6-channel discrete", "HB_AMIXDOWN_6CH", "6ch", HB_AMIXDOWN_6CH } };
+int hb_audio_mixdowns_count = sizeof( hb_audio_mixdowns ) /
+ sizeof( hb_mixdown_t );
+
+int hb_mixdown_get_mixdown_from_short_name( const char * short_name )
+{
+ int i;
+ for (i = 0; i < hb_audio_mixdowns_count; i++)
+ {
+ if (strcmp(hb_audio_mixdowns[i].short_name, short_name) == 0)
+ {
+ return hb_audio_mixdowns[i].amixdown;
+ }
+ }
+ return 0;
+}
+
+const char * hb_mixdown_get_short_name_from_mixdown( int amixdown )
+{
+ int i;
+ for (i = 0; i < hb_audio_mixdowns_count; i++)
+ {
+ if (hb_audio_mixdowns[i].amixdown == amixdown)
+ {
+ return hb_audio_mixdowns[i].short_name;
+ }
+ }
+ return "";
+}
+
/**********************************************************************
* hb_reduce
**********************************************************************
*********************************************************************/
void hb_log( char * log, ... )
{
- char string[82]; /* 80 chars + \n + \0 */
+ char string[182]; /* 180 chars + \n + \0 */
time_t _now;
struct tm * now;
va_list args;
/* Convert the message to a string */
va_start( args, log );
- vsnprintf( string + 11, 69, log, args );
+ vsnprintf( string + 11, 169, log, args );
va_end( args );
/* Add the end of line */
void hb_title_close( hb_title_t ** _t )
{
hb_title_t * t = *_t;
+ hb_audio_t * audio;
+ hb_chapter_t * chapter;
+ hb_subtitle_t * subtitle;
+ while( ( audio = hb_list_item( t->list_audio, 0 ) ) )
+ {
+ hb_list_rem( t->list_audio, audio );
+ free( audio );
+ }
hb_list_close( &t->list_audio );
+
+ while( ( chapter = hb_list_item( t->list_chapter, 0 ) ) )
+ {
+ hb_list_rem( t->list_chapter, chapter );
+ free( chapter );
+ }
hb_list_close( &t->list_chapter );
+
+ while( ( subtitle = hb_list_item( t->list_subtitle, 0 ) ) )
+ {
+ hb_list_rem( t->list_subtitle, subtitle );
+ free( subtitle );
+ }
hb_list_close( &t->list_subtitle );
- free( t->job );
free( t );
*_t = NULL;