Create rarch_mediaplayer_is_media_type

This commit is contained in:
twinaphex 2015-06-23 07:25:48 +02:00
parent be2ae1c602
commit 3e20e4f4f7
3 changed files with 51 additions and 32 deletions

View File

@ -1814,27 +1814,16 @@ static int menu_displaylist_parse_generic(menu_displaylist_info_t *info, bool *n
#ifdef HAVE_FFMPEG #ifdef HAVE_FFMPEG
if (settings->mediaplayer.builtin_enable) if (settings->mediaplayer.builtin_enable)
{ {
uint32_t hash_ext = menu_hash_calculate(path_get_extension(path)); switch (rarch_mediaplayer_is_media_type(path))
switch (hash_ext)
{ {
case MENU_VALUE_FILE_OGM: case RARCH_CONTENT_MOVIE:
case MENU_VALUE_FILE_MKV:
case MENU_VALUE_FILE_AVI:
case MENU_VALUE_FILE_MP4:
case MENU_VALUE_FILE_FLV:
case MENU_VALUE_FILE_3GP:
case MENU_VALUE_FILE_F4F:
case MENU_VALUE_FILE_F4V:
file_type = MENU_FILE_MOVIE; file_type = MENU_FILE_MOVIE;
break; break;
case MENU_VALUE_FILE_MP3: case RARCH_CONTENT_MUSIC:
case MENU_VALUE_FILE_M4A:
case MENU_VALUE_FILE_OGG:
case MENU_VALUE_FILE_FLAC:
case MENU_VALUE_FILE_WAV:
file_type = MENU_FILE_MUSIC; file_type = MENU_FILE_MUSIC;
break; break;
default:
break;
} }
} }
#endif #endif

View File

@ -422,6 +422,36 @@ void rarch_set_paths(const char *path)
sizeof(settings->system_directory)); sizeof(settings->system_directory));
} }
#ifdef HAVE_FFMPEG
enum rarch_content_type rarch_mediaplayer_is_media_type(const char *path)
{
uint32_t hash_ext = djb2_calculate(path_get_extension(path));
switch (hash_ext)
{
case MENU_VALUE_FILE_OGM:
case MENU_VALUE_FILE_MKV:
case MENU_VALUE_FILE_AVI:
case MENU_VALUE_FILE_MP4:
case MENU_VALUE_FILE_FLV:
case MENU_VALUE_FILE_3GP:
case MENU_VALUE_FILE_F4F:
case MENU_VALUE_FILE_F4V:
return RARCH_CONTENT_MOVIE;
case MENU_VALUE_FILE_MP3:
case MENU_VALUE_FILE_M4A:
case MENU_VALUE_FILE_OGG:
case MENU_VALUE_FILE_FLAC:
case MENU_VALUE_FILE_WAV:
return RARCH_CONTENT_MUSIC;
default:
break;
}
return RARCH_CONTENT_NONE;
}
#endif
/** /**
* parse_input: * parse_input:
* @argc : Count of (commandline) arguments. * @argc : Count of (commandline) arguments.
@ -848,25 +878,14 @@ static void parse_input(int argc, char *argv[])
#ifdef HAVE_FFMPEG #ifdef HAVE_FFMPEG
if (settings->mediaplayer.builtin_enable) if (settings->mediaplayer.builtin_enable)
{ {
uint32_t hash_ext = djb2_calculate(path_get_extension(global->fullpath)); switch (rarch_mediaplayer_is_media_type(global->fullpath))
switch (hash_ext)
{ {
case MENU_VALUE_FILE_OGM: case RARCH_CONTENT_MOVIE:
case MENU_VALUE_FILE_MKV: case RARCH_CONTENT_MUSIC:
case MENU_VALUE_FILE_AVI:
case MENU_VALUE_FILE_MP4:
case MENU_VALUE_FILE_FLV:
case MENU_VALUE_FILE_3GP:
case MENU_VALUE_FILE_F4F:
case MENU_VALUE_FILE_F4V:
case MENU_VALUE_FILE_MP3:
case MENU_VALUE_FILE_M4A:
case MENU_VALUE_FILE_OGG:
case MENU_VALUE_FILE_FLAC:
case MENU_VALUE_FILE_WAV:
global->core_type = CORE_TYPE_FFMPEG; global->core_type = CORE_TYPE_FFMPEG;
break; break;
default:
break;
} }
} }
#endif #endif

View File

@ -40,6 +40,13 @@ enum action_state
RARCH_ACTION_STATE_FORCE_QUIT, RARCH_ACTION_STATE_FORCE_QUIT,
}; };
enum rarch_content_type
{
RARCH_CONTENT_NONE = 0,
RARCH_CONTENT_MOVIE,
RARCH_CONTENT_MUSIC,
};
enum rarch_capabilities enum rarch_capabilities
{ {
RARCH_CAPABILITIES_NONE = 0, RARCH_CAPABILITIES_NONE = 0,
@ -175,6 +182,10 @@ void set_paths_redirect(const char *path);
int rarch_info_get_capabilities(enum rarch_capabilities type, char *s, size_t len); int rarch_info_get_capabilities(enum rarch_capabilities type, char *s, size_t len);
#ifdef HAVE_FFMPEG
enum rarch_content_type rarch_mediaplayer_is_media_type(const char *path);
#endif
extern char orig_savestate_dir[PATH_MAX_LENGTH]; extern char orig_savestate_dir[PATH_MAX_LENGTH];
extern char orig_savefile_dir[PATH_MAX_LENGTH]; extern char orig_savefile_dir[PATH_MAX_LENGTH];