aboutsummaryrefslogtreecommitdiffstats
path: root/src/tag.c
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-05-06 18:49:04 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-05-06 18:49:04 +0000
commitef9f832fb3ecc5c639387d9af71dcafbbed2ff70 (patch)
treee5bccdb95da646d9110995259ce00973cee017e9 /src/tag.c
parent9ca135d72381a04eacdd28d60701724c6f8d2a06 (diff)
downloadmpd-ef9f832fb3ecc5c639387d9af71dcafbbed2ff70.tar.gz
mpd-ef9f832fb3ecc5c639387d9af71dcafbbed2ff70.tar.xz
mpd-ef9f832fb3ecc5c639387d9af71dcafbbed2ff70.zip
mp4/aac now use InputStream
git-svn-id: https://svn.musicpd.org/mpd/trunk@925 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/tag.c')
-rw-r--r--src/tag.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/tag.c b/src/tag.c
index 42124adfd..ccd7b421e 100644
--- a/src/tag.c
+++ b/src/tag.c
@@ -26,6 +26,7 @@
#include "utils.h"
#include "utf8.h"
#include "log.h"
+#include "inputStream.h"
#include <sys/stat.h>
#include <stdlib.h>
@@ -209,7 +210,7 @@ MpdTag * aacTagDup(char * utf8file) {
MpdTag * mp4DataDup(char * utf8file, int * mp4MetadataFound) {
MpdTag * ret = NULL;
- FILE * fh;
+ InputStream inStream;
mp4ff_t * mp4fh;
mp4ff_callback_t * cb;
int32_t track;
@@ -217,28 +218,29 @@ MpdTag * mp4DataDup(char * utf8file, int * mp4MetadataFound) {
int32_t scale;
*mp4MetadataFound = 0;
-
- fh = fopen(rmp2amp(utf8ToFsCharset(utf8file)),"r");
- if(!fh) {
+
+ if(openInputStreamFromFile(&inStream,rmp2amp(utf8ToFsCharset(utf8file)))
+ < 0)
+ {
return NULL;
}
cb = malloc(sizeof(mp4ff_callback_t));
- cb->read = mp4_readCallback;
- cb->seek = mp4_seekCallback;
- cb->user_data = fh;
+ cb->read = mp4_inputStreamReadCallback;
+ cb->seek = mp4_inputStreamSeekCallback;
+ cb->user_data = &inStream;
mp4fh = mp4ff_open_read(cb);
if(!mp4fh) {
free(cb);
- fclose(fh);
+ closeInputStream(&inStream);
return NULL;
}
track = mp4_getAACTrack(mp4fh);
if(track < 0) {
mp4ff_close(mp4fh);
- fclose(fh);
+ closeInputStream(&inStream);
free(cb);
return NULL;
}
@@ -248,7 +250,7 @@ MpdTag * mp4DataDup(char * utf8file, int * mp4MetadataFound) {
scale = mp4ff_time_scale(mp4fh,track);
if(scale < 0) {
mp4ff_close(mp4fh);
- fclose(fh);
+ closeInputStream(&inStream);
free(cb);
freeMpdTag(ret);
return NULL;
@@ -272,7 +274,7 @@ MpdTag * mp4DataDup(char * utf8file, int * mp4MetadataFound) {
}
mp4ff_close(mp4fh);
- fclose(fh);
+ closeInputStream(&inStream);
free(cb);
return ret;