|
@@ -26,6 +26,7 @@
|
|
#include "pcm.h"
|
|
#include "pcm.h"
|
|
#include "aiff.h"
|
|
#include "aiff.h"
|
|
#include "isom.h"
|
|
#include "isom.h"
|
|
|
|
+#include "id3v2.h"
|
|
|
|
|
|
#define AIFF 0
|
|
#define AIFF 0
|
|
#define AIFF_C_VERSION1 0xA2805140
|
|
#define AIFF_C_VERSION1 0xA2805140
|
|
@@ -195,6 +196,7 @@ static int aiff_read_header(AVFormatContext *s)
|
|
AVIOContext *pb = s->pb;
|
|
AVIOContext *pb = s->pb;
|
|
AVStream * st;
|
|
AVStream * st;
|
|
AIFFInputContext *aiff = s->priv_data;
|
|
AIFFInputContext *aiff = s->priv_data;
|
|
|
|
+ ID3v2ExtraMeta *id3v2_extra_meta = NULL;
|
|
|
|
|
|
/* check FORM header */
|
|
/* check FORM header */
|
|
filesize = get_tag(pb, &tag);
|
|
filesize = get_tag(pb, &tag);
|
|
@@ -231,6 +233,10 @@ static int aiff_read_header(AVFormatContext *s)
|
|
if (offset > 0) // COMM is after SSND
|
|
if (offset > 0) // COMM is after SSND
|
|
goto got_sound;
|
|
goto got_sound;
|
|
break;
|
|
break;
|
|
|
|
+ case MKTAG('I', 'D', '3', ' '):
|
|
|
|
+ ff_id3v2_read(s, ID3v2_DEFAULT_MAGIC, &id3v2_extra_meta);
|
|
|
|
+ ff_id3v2_free_extra_meta(&id3v2_extra_meta);
|
|
|
|
+ break;
|
|
case MKTAG('F', 'V', 'E', 'R'): /* Version chunk */
|
|
case MKTAG('F', 'V', 'E', 'R'): /* Version chunk */
|
|
version = avio_rb32(pb);
|
|
version = avio_rb32(pb);
|
|
break;
|
|
break;
|