summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
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 e4b4cf061e..2e39ab1685 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,
94 int rc; 94 int rc;
95 95
96 /* Load codec specific track tag information. */ 96 /* Load codec specific track tag information. */
97 switch (track->codectype) { 97 switch (track->id3.codectype) {
98 case AFMT_MPA_L1: 98 case AFMT_MPA_L1:
99 case AFMT_MPA_L2: 99 case AFMT_MPA_L2:
100 case AFMT_MPA_L3: 100 case AFMT_MPA_L3:
diff --git a/apps/playback.c b/apps/playback.c
index fb9a788ac4..f4ec05b369 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -531,7 +531,7 @@ bool loadcodec(const char *trackname, bool start_play)
531 codec_path = NULL; 531 codec_path = NULL;
532 } 532 }
533 533
534 tracks[track_widx].codectype = filetype; 534 tracks[track_widx].id3.codectype = filetype;
535 tracks[track_widx].codecsize = 0; 535 tracks[track_widx].codecsize = 0;
536 if (codec_path == NULL) 536 if (codec_path == NULL)
537 return false; 537 return false;
@@ -540,7 +540,7 @@ bool loadcodec(const char *trackname, bool start_play)
540 prev_track = track_widx - 1; 540 prev_track = track_widx - 1;
541 if (prev_track < 0) 541 if (prev_track < 0)
542 prev_track = MAX_TRACK-1; 542 prev_track = MAX_TRACK-1;
543 if (track_count > 0 && filetype == tracks[prev_track].codectype) { 543 if (track_count > 0 && filetype == tracks[prev_track].id3.codectype) {
544 logf("Reusing prev. codec"); 544 logf("Reusing prev. codec");
545 return true; 545 return true;
546 } 546 }
@@ -667,8 +667,8 @@ bool audio_load_track(int offset, bool start_play, int peek_offset)
667 667
668 /* Starting playback from an offset is only support in MPA at the moment */ 668 /* Starting playback from an offset is only support in MPA at the moment */
669 if (offset > 0) { 669 if (offset > 0) {
670 if ((tracks[track_widx].codectype==AFMT_MPA_L2) || 670 if ((tracks[track_widx].id3.codectype==AFMT_MPA_L2) ||
671 (tracks[track_widx].codectype==AFMT_MPA_L3)) { 671 (tracks[track_widx].id3.codectype==AFMT_MPA_L3)) {
672 lseek(fd, offset, SEEK_SET); 672 lseek(fd, offset, SEEK_SET);
673 tracks[track_widx].id3.offset = offset; 673 tracks[track_widx].id3.offset = offset;
674 mp3_set_elapsed(&tracks[track_widx].id3); 674 mp3_set_elapsed(&tracks[track_widx].id3);
@@ -955,7 +955,7 @@ bool codec_request_next_track_callback(void)
955 955
956 ci.reload_codec = false; 956 ci.reload_codec = false;
957 957
958 if (cur_ti->codectype != tracks[track_ridx].codectype) { 958 if (cur_ti->id3.codectype != tracks[track_ridx].id3.codectype) {
959 if (--track_ridx < 0) 959 if (--track_ridx < 0)
960 track_ridx = MAX_TRACK-1; 960 track_ridx = MAX_TRACK-1;
961 logf("New codec"); 961 logf("New codec");
diff --git a/apps/playback.h b/apps/playback.h
index 1df283e6b8..06b82b40e4 100644
--- a/apps/playback.h
+++ b/apps/playback.h
@@ -27,23 +27,6 @@
27#include "id3.h" 27#include "id3.h"
28#include "mp3data.h" 28#include "mp3data.h"
29 29
30/* Supported file types. */
31#define AFMT_MPA_L1 0x0001 // MPEG Audio layer 1
32#define AFMT_MPA_L2 0x0002 // MPEG Audio layer 2
33#define AFMT_MPA_L3 0x0004 // MPEG Audio layer 3
34 /* (MPEG-1, 2, 2.5 layers 1, 2 and 3 */
35#define AFMT_PCM_WAV 0x0008 // Uncompressed PCM in a WAV file
36#define AFMT_OGG_VORBIS 0x0010 // Ogg Vorbis
37#define AFMT_FLAC 0x0020 // FLAC
38#define AFMT_MPC 0x0040 // Musepack
39#define AFMT_AAC 0x0080 // AAC
40#define AFMT_APE 0x0100 // Monkey's Audio
41#define AFMT_WMA 0x0200 // Windows Media Audio
42#define AFMT_A52 0x0400 // A/52 (aka AC3) audio
43#define AFMT_REAL 0x0800 // Realaudio
44#define AFMT_UNKNOWN 0x1000 // Unknown file format
45#define AFMT_WAVPACK 0x2000 // WavPack
46
47/* File buffer configuration keys. */ 30/* File buffer configuration keys. */
48#define CODEC_SET_FILEBUF_WATERMARK 1 31#define CODEC_SET_FILEBUF_WATERMARK 1
49#define CODEC_SET_FILEBUF_CHUNKSIZE 2 32#define CODEC_SET_FILEBUF_CHUNKSIZE 2
@@ -58,7 +41,6 @@ struct track_info {
58 struct mp3info mp3data; /* MP3 metadata */ 41 struct mp3info mp3data; /* MP3 metadata */
59 char *codecbuf; /* Pointer to codec buffer */ 42 char *codecbuf; /* Pointer to codec buffer */
60 size_t codecsize; /* Codec length in bytes */ 43 size_t codecsize; /* Codec length in bytes */
61 int codectype; /* Codec type (example AFMT_MPA_L3) */
62 44
63 off_t filerem; /* Remaining bytes of file NOT in buffer */ 45 off_t filerem; /* Remaining bytes of file NOT in buffer */
64 off_t filesize; /* File total length */ 46 off_t filesize; /* File total length */
diff --git a/apps/wps-display.c b/apps/wps-display.c
index 39d0475886..aca7350904 100644
--- a/apps/wps-display.c
+++ b/apps/wps-display.c
@@ -445,6 +445,9 @@ static char* get_tag(struct mp3entry* cid3,
445 case 's': /* File Size (in kilobytes) */ 445 case 's': /* File Size (in kilobytes) */
446 snprintf(buf, buf_size, "%d", id3->filesize / 1024); 446 snprintf(buf, buf_size, "%d", id3->filesize / 1024);
447 return buf; 447 return buf;
448
449 case 'c': /* File Codec */
450 return id3_get_codec(id3);
448 } 451 }
449 break; 452 break;
450 453