summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2005-06-18 16:24:27 +0000
committerDave Chapman <dave@dchapman.com>2005-06-18 16:24:27 +0000
commit961c9a3e4103e766f52ff1d7c2af2db6119c72ec (patch)
treec4fd5b0ea3b7063315910fea159a590e74680ed4 /apps
parent2bfd2585a9cfb8541047a3f5eedbfd05fe36f9f9 (diff)
downloadrockbox-961c9a3e4103e766f52ff1d7c2af2db6119c72ec.zip
rockbox-961c9a3e4103e766f52ff1d7c2af2db6119c72ec.tar.gz
rockbox-961c9a3e4103e766f52ff1d7c2af2db6119c72ec.tar.bz2
rockbox-961c9a3e4103e766f52ff1d7c2af2db6119c72ec.tar.xz
Added %fc WPS tag to display codec type - moved codectype from track_info struct into mp3info struct, initialise it on MAS platforms, and add it to the WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6748 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/metadata.c2
-rw-r--r--apps/playback.c10
-rw-r--r--apps/playback.h18
-rw-r--r--apps/wps-display.c3
4 files changed, 9 insertions, 24 deletions
diff --git a/apps/metadata.c b/apps/metadata.c
index e4b4cf0..2e39ab1 100644
--- a/apps/metadata.c
+++ b/apps/metadata.c
@@ -94,7 +94,7 @@ bool get_metadata(struct track_info* track, int fd, const char* trackname,
int rc;
/* Load codec specific track tag information. */
- switch (track->codectype) {
+ switch (track->id3.codectype) {
case AFMT_MPA_L1:
case AFMT_MPA_L2:
case AFMT_MPA_L3:
diff --git a/apps/playback.c b/apps/playback.c
index fb9a788..f4ec05b 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -531,7 +531,7 @@ bool loadcodec(const char *trackname, bool start_play)
codec_path = NULL;
}
- tracks[track_widx].codectype = filetype;
+ tracks[track_widx].id3.codectype = filetype;
tracks[track_widx].codecsize = 0;
if (codec_path == NULL)
return false;
@@ -540,7 +540,7 @@ bool loadcodec(const char *trackname, bool start_play)
prev_track = track_widx - 1;
if (prev_track < 0)
prev_track = MAX_TRACK-1;
- if (track_count > 0 && filetype == tracks[prev_track].codectype) {
+ if (track_count > 0 && filetype == tracks[prev_track].id3.codectype) {
logf("Reusing prev. codec");
return true;
}
@@ -667,8 +667,8 @@ bool audio_load_track(int offset, bool start_play, int peek_offset)
/* Starting playback from an offset is only support in MPA at the moment */
if (offset > 0) {
- if ((tracks[track_widx].codectype==AFMT_MPA_L2) ||
- (tracks[track_widx].codectype==AFMT_MPA_L3)) {
+ if ((tracks[track_widx].id3.codectype==AFMT_MPA_L2) ||
+ (tracks[track_widx].id3.codectype==AFMT_MPA_L3)) {
lseek(fd, offset, SEEK_SET);
tracks[track_widx].id3.offset = offset;
mp3_set_elapsed(&tracks[track_widx].id3);
@@ -955,7 +955,7 @@ bool codec_request_next_track_callback(void)
ci.reload_codec = false;
- if (cur_ti->codectype != tracks[track_ridx].codectype) {
+ if (cur_ti->id3.codectype != tracks[track_ridx].id3.codectype) {
if (--track_ridx < 0)
track_ridx = MAX_TRACK-1;
logf("New codec");
diff --git a/apps/playback.h b/apps/playback.h
index 1df283e..06b82b4 100644
--- a/apps/playback.h
+++ b/apps/playback.h
@@ -27,23 +27,6 @@
#include "id3.h"
#include "mp3data.h"
-/* Supported file types. */
-#define AFMT_MPA_L1 0x0001 // MPEG Audio layer 1
-#define AFMT_MPA_L2 0x0002 // MPEG Audio layer 2
-#define AFMT_MPA_L3 0x0004 // MPEG Audio layer 3
- /* (MPEG-1, 2, 2.5 layers 1, 2 and 3 */
-#define AFMT_PCM_WAV 0x0008 // Uncompressed PCM in a WAV file
-#define AFMT_OGG_VORBIS 0x0010 // Ogg Vorbis
-#define AFMT_FLAC 0x0020 // FLAC
-#define AFMT_MPC 0x0040 // Musepack
-#define AFMT_AAC 0x0080 // AAC
-#define AFMT_APE 0x0100 // Monkey's Audio
-#define AFMT_WMA 0x0200 // Windows Media Audio
-#define AFMT_A52 0x0400 // A/52 (aka AC3) audio
-#define AFMT_REAL 0x0800 // Realaudio
-#define AFMT_UNKNOWN 0x1000 // Unknown file format
-#define AFMT_WAVPACK 0x2000 // WavPack
-
/* File buffer configuration keys. */
#define CODEC_SET_FILEBUF_WATERMARK 1
#define CODEC_SET_FILEBUF_CHUNKSIZE 2
@@ -58,7 +41,6 @@ struct track_info {
struct mp3info mp3data; /* MP3 metadata */
char *codecbuf; /* Pointer to codec buffer */
size_t codecsize; /* Codec length in bytes */
- int codectype; /* Codec type (example AFMT_MPA_L3) */
off_t filerem; /* Remaining bytes of file NOT in buffer */
off_t filesize; /* File total length */
diff --git a/apps/wps-display.c b/apps/wps-display.c
index 39d0475..aca7350 100644
--- a/apps/wps-display.c
+++ b/apps/wps-display.c
@@ -445,6 +445,9 @@ static char* get_tag(struct mp3entry* cid3,
case 's': /* File Size (in kilobytes) */
snprintf(buf, buf_size, "%d", id3->filesize / 1024);
return buf;
+
+ case 'c': /* File Codec */
+ return id3_get_codec(id3);
}
break;