summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/buffering.c6
-rw-r--r--apps/buffering.h1
-rw-r--r--apps/playback.c15
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
1067static bool audio_loadcodec(bool start_play) 1067static 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}