diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/buffering.c | 6 | ||||
-rw-r--r-- | apps/buffering.h | 1 | ||||
-rw-r--r-- | apps/playback.c | 15 |
3 files changed, 17 insertions, 5 deletions
diff --git a/apps/buffering.c b/apps/buffering.c index 9c0ad138f7..1482d6790b 100644 --- a/apps/buffering.c +++ b/apps/buffering.c | |||
@@ -1012,7 +1012,11 @@ int bufopen(const char *file, size_t offset, enum data_type type, | |||
1012 | 1012 | ||
1013 | return h->id; | 1013 | return h->id; |
1014 | } | 1014 | } |
1015 | 1015 | #ifdef APPLICATION | |
1016 | /* loading code from memory is not supported in application builds */ | ||
1017 | else if (type == TYPE_CODEC) | ||
1018 | return ERR_UNSUPPORTED_TYPE; | ||
1019 | #endif | ||
1016 | /* Other cases: there is a little more work. */ | 1020 | /* Other cases: there is a little more work. */ |
1017 | int fd = open(file, O_RDONLY); | 1021 | int fd = open(file, O_RDONLY); |
1018 | if (fd < 0) | 1022 | if (fd < 0) |
diff --git a/apps/buffering.h b/apps/buffering.h index 6e17b65d8c..c3a9f928d1 100644 --- a/apps/buffering.h +++ b/apps/buffering.h | |||
@@ -44,6 +44,7 @@ enum data_type { | |||
44 | #define ERR_INVALID_VALUE -3 | 44 | #define ERR_INVALID_VALUE -3 |
45 | #define ERR_FILE_ERROR -4 | 45 | #define ERR_FILE_ERROR -4 |
46 | #define ERR_HANDLE_NOT_DONE -5 | 46 | #define ERR_HANDLE_NOT_DONE -5 |
47 | #define ERR_UNSUPPORTED_TYPE -6 | ||
47 | 48 | ||
48 | 49 | ||
49 | /* Initialise the buffering subsystem */ | 50 | /* Initialise the buffering subsystem */ |
diff --git a/apps/playback.c b/apps/playback.c index 9030161f4a..3a7faa3d8d 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -1066,7 +1066,7 @@ static bool audio_release_tracks(void) | |||
1066 | 1066 | ||
1067 | static bool audio_loadcodec(bool start_play) | 1067 | static bool audio_loadcodec(bool start_play) |
1068 | { | 1068 | { |
1069 | int prev_track; | 1069 | int prev_track, hid; |
1070 | char codec_path[MAX_PATH]; /* Full path to codec */ | 1070 | char codec_path[MAX_PATH]; /* Full path to codec */ |
1071 | const struct mp3entry *id3, *prev_id3; | 1071 | const struct mp3entry *id3, *prev_id3; |
1072 | 1072 | ||
@@ -1121,11 +1121,18 @@ static bool audio_loadcodec(bool start_play) | |||
1121 | 1121 | ||
1122 | codec_get_full_path(codec_path, codec_fn); | 1122 | codec_get_full_path(codec_path, codec_fn); |
1123 | 1123 | ||
1124 | tracks[track_widx].codec_hid = bufopen(codec_path, 0, TYPE_CODEC, NULL); | 1124 | hid = tracks[track_widx].codec_hid = bufopen(codec_path, 0, TYPE_CODEC, NULL); |
1125 | if (tracks[track_widx].codec_hid < 0) | 1125 | |
1126 | /* not an error if codec load it supported, will load it from disk | ||
1127 | * application builds don't support it | ||
1128 | */ | ||
1129 | if (hid < 0 && hid != ERR_UNSUPPORTED_TYPE) | ||
1126 | return false; | 1130 | return false; |
1127 | 1131 | ||
1128 | logf("Loaded codec"); | 1132 | if (hid > 0) |
1133 | logf("Loaded codec"); | ||
1134 | else | ||
1135 | logf("Buffering codec unsupported, load later from disk"); | ||
1129 | 1136 | ||
1130 | return true; | 1137 | return true; |
1131 | } | 1138 | } |