summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohamed Tarek <mt@rockbox.org>2010-05-09 21:42:09 +0000
committerMohamed Tarek <mt@rockbox.org>2010-05-09 21:42:09 +0000
commitcd4d80aeba3c65cb30b520f1aad1e6008e9535b5 (patch)
tree94e437c5c75df6ed2b36cfc3ddaa9d9aa635c9a8
parent6a96037d09c99041bae87ae7c7a5189adafd7408 (diff)
downloadrockbox-cd4d80aeba3c65cb30b520f1aad1e6008e9535b5.tar.gz
rockbox-cd4d80aeba3c65cb30b520f1aad1e6008e9535b5.zip
nomsg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25922 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/SOURCES1
-rw-r--r--apps/codecs/codecs.make1
-rw-r--r--apps/codecs/libasf/asf.h5
-rw-r--r--apps/codecs/wmapro.c33
-rw-r--r--apps/metadata.c3
-rw-r--r--apps/metadata.h1
-rw-r--r--apps/metadata/asf.c8
7 files changed, 49 insertions, 3 deletions
diff --git a/apps/codecs/SOURCES b/apps/codecs/SOURCES
index 8970567b65..e2ee53e7ee 100644
--- a/apps/codecs/SOURCES
+++ b/apps/codecs/SOURCES
@@ -16,6 +16,7 @@ atrac3_rm.c
16atrac3_oma.c 16atrac3_oma.c
17mpc.c 17mpc.c
18wma.c 18wma.c
19wmapro.c
19sid.c 20sid.c
20ape.c 21ape.c
21nsf.c 22nsf.c
diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make
index fa5eae67c5..7a83e5d1da 100644
--- a/apps/codecs/codecs.make
+++ b/apps/codecs/codecs.make
@@ -82,6 +82,7 @@ $(CODECDIR)/shorten.codec : $(CODECDIR)/libffmpegFLAC.a
82$(CODECDIR)/ape-pre.map : $(CODECDIR)/libdemac-pre.a 82$(CODECDIR)/ape-pre.map : $(CODECDIR)/libdemac-pre.a
83$(CODECDIR)/ape.codec : $(CODECDIR)/libdemac.a 83$(CODECDIR)/ape.codec : $(CODECDIR)/libdemac.a
84$(CODECDIR)/wma.codec : $(CODECDIR)/libwma.a $(CODECDIR)/libasf.a 84$(CODECDIR)/wma.codec : $(CODECDIR)/libwma.a $(CODECDIR)/libasf.a
85$(CODECDIR)/wmapro.codec : $(CODECDIR)/libwma.a $(CODECDIR)/libasf.a
85$(CODECDIR)/wavpack_enc.codec: $(CODECDIR)/libwavpack.a 86$(CODECDIR)/wavpack_enc.codec: $(CODECDIR)/libwavpack.a
86$(CODECDIR)/asap.codec : $(CODECDIR)/libasap.a 87$(CODECDIR)/asap.codec : $(CODECDIR)/libasap.a
87$(CODECDIR)/cook.codec : $(CODECDIR)/libcook.a $(CODECDIR)/librm.a 88$(CODECDIR)/cook.codec : $(CODECDIR)/libcook.a $(CODECDIR)/librm.a
diff --git a/apps/codecs/libasf/asf.h b/apps/codecs/libasf/asf.h
index 09767650a3..c15bf4edec 100644
--- a/apps/codecs/libasf/asf.h
+++ b/apps/codecs/libasf/asf.h
@@ -4,8 +4,9 @@
4#include <inttypes.h> 4#include <inttypes.h>
5 5
6/* ASF codec IDs */ 6/* ASF codec IDs */
7#define ASF_CODEC_ID_WMAV1 0x160 7#define ASF_CODEC_ID_WMAV1 0x160
8#define ASF_CODEC_ID_WMAV2 0x161 8#define ASF_CODEC_ID_WMAV2 0x161
9#define ASF_CODEC_ID_WMAPRO 0x162
9 10
10enum asf_error_e { 11enum asf_error_e {
11 ASF_ERROR_INTERNAL = -1, /* incorrect input to API calls */ 12 ASF_ERROR_INTERNAL = -1, /* incorrect input to API calls */
diff --git a/apps/codecs/wmapro.c b/apps/codecs/wmapro.c
new file mode 100644
index 0000000000..e15a610679
--- /dev/null
+++ b/apps/codecs/wmapro.c
@@ -0,0 +1,33 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2010 Mohamed Tarek
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#include "codeclib.h"
23
24CODEC_HEADER
25
26/* this is the codec entry point */
27enum codec_status codec_main(void)
28{
29 DEBUGF("WMA: WMA Professional has not been implemented yet\n");
30
31 return CODEC_ERROR;
32}
33
diff --git a/apps/metadata.c b/apps/metadata.c
index 2a49392193..97f376035d 100644
--- a/apps/metadata.c
+++ b/apps/metadata.c
@@ -107,6 +107,9 @@ const struct afmt_entry audio_formats[AFMT_NUM_CODECS] =
107 /* WMA (WMAV1/V2 in ASF) */ 107 /* WMA (WMAV1/V2 in ASF) */
108 [AFMT_WMA] = 108 [AFMT_WMA] =
109 AFMT_ENTRY("WMA", "wma", NULL, "wma\0wmv\0asf\0" ), 109 AFMT_ENTRY("WMA", "wma", NULL, "wma\0wmv\0asf\0" ),
110 /* WMA Professional in ASF */
111 [AFMT_WMAPRO] =
112 AFMT_ENTRY("WMAPro", "wmapro", NULL, "wma\0wmv\0asf\0" ),
110 /* Amiga MOD File */ 113 /* Amiga MOD File */
111 [AFMT_MOD] = 114 [AFMT_MOD] =
112 AFMT_ENTRY("MOD", "mod", NULL, "mod\0" ), 115 AFMT_ENTRY("MOD", "mod", NULL, "mod\0" ),
diff --git a/apps/metadata.h b/apps/metadata.h
index 0d0f6c5aac..aa59eac2dd 100644
--- a/apps/metadata.h
+++ b/apps/metadata.h
@@ -59,6 +59,7 @@ enum
59 AFMT_SPC, /* SPC700 save state */ 59 AFMT_SPC, /* SPC700 save state */
60 AFMT_APE, /* Monkey's Audio (APE) */ 60 AFMT_APE, /* Monkey's Audio (APE) */
61 AFMT_WMA, /* WMAV1/V2 in ASF */ 61 AFMT_WMA, /* WMAV1/V2 in ASF */
62 AFMT_WMAPRO, /* WMA Professional in ASF */
62 AFMT_MOD, /* Amiga MOD File Format */ 63 AFMT_MOD, /* Amiga MOD File Format */
63 AFMT_SAP, /* Atari 8Bit SAP Format */ 64 AFMT_SAP, /* Atari 8Bit SAP Format */
64 AFMT_RM_COOK, /* Cook in RM/RA */ 65 AFMT_RM_COOK, /* Cook in RM/RA */
diff --git a/apps/metadata/asf.c b/apps/metadata/asf.c
index fac4092256..db806ea17f 100644
--- a/apps/metadata/asf.c
+++ b/apps/metadata/asf.c
@@ -345,8 +345,14 @@ static int asf_parse_header(int fd, struct mp3entry* id3,
345 read(fd, wfx->data, 6); 345 read(fd, wfx->data, 6);
346 lseek(fd,current.size - 24 - 72 - 6,SEEK_CUR); 346 lseek(fd,current.size - 24 - 72 - 6,SEEK_CUR);
347 wfx->audiostream = flags&0x7f; 347 wfx->audiostream = flags&0x7f;
348 } else if (wfx->codec_id == ASF_CODEC_ID_WMAPRO) {
349 read(fd, wfx->data, 10);
350 lseek(fd,current.size - 24 - 72 - 10,SEEK_CUR);
351 wfx->audiostream = flags&0x7f;
352 /* Correct codectype to redirect playback to the proper .codec */
353 id3->codectype = AFMT_WMAPRO;
348 } else { 354 } else {
349 DEBUGF("Unsupported WMA codec (Pro, Lossless, Voice, etc)\n"); 355 DEBUGF("Unsupported WMA codec (Lossless, Voice, etc)\n");
350 lseek(fd,current.size - 24 - 72,SEEK_CUR); 356 lseek(fd,current.size - 24 - 72,SEEK_CUR);
351 } 357 }
352 358