Lines 968-1005
Link Here
|
968 |
ogmrip_mencoder_container_append_audio_file (OGMRipContainer *container, |
968 |
ogmrip_mencoder_container_append_audio_file (OGMRipContainer *container, |
969 |
const gchar *filename, guint demuxer, gint language, GPtrArray *argv) |
969 |
const gchar *filename, guint demuxer, gint language, GPtrArray *argv) |
970 |
{ |
970 |
{ |
971 |
struct stat buf; |
971 |
if (filename) |
972 |
|
|
|
973 |
if (g_stat (filename, &buf) == 0 && buf.st_size > 0) |
974 |
{ |
972 |
{ |
975 |
if (MPLAYER_CHECK_VERSION (1,0,0,8)) |
973 |
struct stat buf; |
976 |
{ |
|
|
977 |
g_ptr_array_add (argv, g_strdup ("-audiofile")); |
978 |
g_ptr_array_add (argv, g_strdup (filename)); |
979 |
|
974 |
|
980 |
if (demuxer != OGMRIP_AUDIO_DEMUXER_AUTO) |
975 |
if (g_stat (filename, &buf) == 0 && buf.st_size > 0) |
981 |
{ |
|
|
982 |
g_ptr_array_add (argv, g_strdup ("-audio-demuxer")); |
983 |
g_ptr_array_add (argv, g_strdup ("rawaudio")); |
984 |
g_ptr_array_add (argv, g_strdup ("-rawaudio")); |
985 |
g_ptr_array_add (argv, g_strdup_printf ("format=0x%x", demuxer)); |
986 |
} |
987 |
} |
988 |
else |
989 |
{ |
976 |
{ |
990 |
if (demuxer == OGMRIP_AUDIO_DEMUXER_AUTO) |
977 |
if (MPLAYER_CHECK_VERSION (1,0,0,8)) |
991 |
{ |
978 |
{ |
992 |
g_ptr_array_add (argv, g_strdup ("-audiofile")); |
979 |
g_ptr_array_add (argv, g_strdup ("-audiofile")); |
993 |
g_ptr_array_add (argv, g_strdup (filename)); |
980 |
g_ptr_array_add (argv, g_strdup (filename)); |
|
|
981 |
|
982 |
if (demuxer != OGMRIP_AUDIO_DEMUXER_AUTO) |
983 |
{ |
984 |
g_ptr_array_add (argv, g_strdup ("-audio-demuxer")); |
985 |
g_ptr_array_add (argv, g_strdup ("rawaudio")); |
986 |
g_ptr_array_add (argv, g_strdup ("-rawaudio")); |
987 |
g_ptr_array_add (argv, g_strdup_printf ("format=0x%x", demuxer)); |
988 |
} |
994 |
} |
989 |
} |
995 |
else |
990 |
else if (demuxer == OGMRIP_AUDIO_DEMUXER_AUTO) |
996 |
{ |
991 |
{ |
997 |
gchar *dirname, *new_name; |
992 |
g_ptr_array_add (argv, g_strdup ("-audiofile")); |
998 |
|
993 |
g_ptr_array_add (argv, g_strdup (filename)); |
999 |
dirname = g_path_get_dirname (filename); |
|
|
1000 |
new_name = g_build_filename (dirname, "frameno.avi", NULL); |
1001 |
ogmrip_fs_rename (filename, new_name, NULL); |
1002 |
strcpy ((gchar *) filename, new_name); |
1003 |
} |
994 |
} |
1004 |
} |
995 |
} |
1005 |
} |
996 |
} |
Lines 1011-1032
Link Here
|
1011 |
{ |
1002 |
{ |
1012 |
gchar *input; |
1003 |
gchar *input; |
1013 |
|
1004 |
|
1014 |
input = (gchar *) ogmrip_codec_get_output (codec); |
1005 |
input = g_strdup (ogmrip_codec_get_output (codec)); |
1015 |
|
1006 |
|
1016 |
if (ogmrip_plugin_get_audio_codec_format (G_OBJECT_TYPE (codec)) == OGMRIP_FORMAT_AAC) |
1007 |
if (ogmrip_plugin_get_audio_codec_format (G_OBJECT_TYPE (codec)) == OGMRIP_FORMAT_AAC) |
1017 |
{ |
1008 |
{ |
1018 |
gchar *str; |
1009 |
g_ptr_array_add (argv, g_strdup ("-fafmttag")); |
|
|
1010 |
g_ptr_array_add (argv, g_strdup ("0x706D")); |
1011 |
} |
1012 |
else if (!MPLAYER_CHECK_VERSION (1,0,0,8) && demuxer != OGMRIP_AUDIO_DEMUXER_AUTO) |
1013 |
{ |
1014 |
gchar *filename; |
1019 |
|
1015 |
|
1020 |
str = g_strconcat (input, ".aac", NULL); |
1016 |
filename = g_path_get_basename (input); |
1021 |
ogmrip_fs_rename (input, str, NULL); |
1017 |
if (!g_str_equal (filename, "frameno.avi")) |
|
|
1018 |
{ |
1019 |
gchar *dirname, *new_name; |
1020 |
|
1021 |
dirname = g_path_get_dirname (input); |
1022 |
new_name = g_build_filename (dirname, "frameno.avi", NULL); |
1023 |
g_free (dirname); |
1024 |
|
1025 |
ogmrip_fs_rename (input, new_name, NULL); |
1026 |
ogmrip_codec_set_output (codec, new_name); |
1027 |
g_free (new_name); |
1022 |
|
1028 |
|
1023 |
ogmrip_codec_set_output (codec, str); |
1029 |
g_free (input); |
1024 |
input = str; |
1030 |
input = NULL; |
|
|
1031 |
} |
1032 |
g_free (filename); |
1025 |
} |
1033 |
} |
1026 |
|
1034 |
|
1027 |
ogmrip_mencoder_container_append_audio_file (container, input, demuxer, language, argv); |
1035 |
ogmrip_mencoder_container_append_audio_file (container, input, demuxer, language, argv); |
1028 |
|
1036 |
|
1029 |
if (ogmrip_plugin_get_audio_codec_format (G_OBJECT_TYPE (codec)) == OGMRIP_FORMAT_AAC) |
1037 |
if (input) |
1030 |
g_free (input); |
1038 |
g_free (input); |
1031 |
} |
1039 |
} |
1032 |
|
1040 |
|