Browse Source

Move find_guid function and guid_data array to a globally available place.

Fixes compilation with --disable-optimizations --disable-demuxer=w64.

Originally committed as revision 19959 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Diego Biurrun 16 years ago
parent
commit
738914be66
1 changed files with 23 additions and 23 deletions
  1. +23
    -23
      libavformat/wav.c

+ 23
- 23
libavformat/wav.c View File

@@ -198,6 +198,29 @@ static int wav_read_header(AVFormatContext *s,
return 0; return 0;
} }


/** Find chunk with w64 GUID by skipping over other chunks
* @return the size of the found chunk
*/
static int64_t find_guid(ByteIOContext *pb, const uint8_t guid1[16])
{
uint8_t guid[16];
int64_t size;

while (!url_feof(pb)) {
get_buffer(pb, guid, 16);
size = get_le64(pb);
if (size <= 24)
return -1;
if (!memcmp(guid, guid1, 16))
return size;
url_fskip(pb, FFALIGN(size, INT64_C(8)) - 24);
}
return -1;
}

static const uint8_t guid_data[16] = { 'd', 'a', 't', 'a',
0xF3, 0xAC, 0xD3, 0x11, 0x8C, 0xD1, 0x00, 0xC0, 0x4F, 0x8E, 0xDB, 0x8A };

#if CONFIG_W64_DEMUXER #if CONFIG_W64_DEMUXER


static const uint8_t guid_riff[16] = { 'r', 'i', 'f', 'f', static const uint8_t guid_riff[16] = { 'r', 'i', 'f', 'f',
@@ -209,9 +232,6 @@ static const uint8_t guid_wave[16] = { 'w', 'a', 'v', 'e',
static const uint8_t guid_fmt [16] = { 'f', 'm', 't', ' ', static const uint8_t guid_fmt [16] = { 'f', 'm', 't', ' ',
0xF3, 0xAC, 0xD3, 0x11, 0x8C, 0xD1, 0x00, 0xC0, 0x4F, 0x8E, 0xDB, 0x8A }; 0xF3, 0xAC, 0xD3, 0x11, 0x8C, 0xD1, 0x00, 0xC0, 0x4F, 0x8E, 0xDB, 0x8A };


static const uint8_t guid_data[16] = { 'd', 'a', 't', 'a',
0xF3, 0xAC, 0xD3, 0x11, 0x8C, 0xD1, 0x00, 0xC0, 0x4F, 0x8E, 0xDB, 0x8A };

static int w64_probe(AVProbeData *p) static int w64_probe(AVProbeData *p)
{ {
if (p->buf_size <= 40) if (p->buf_size <= 40)
@@ -223,26 +243,6 @@ static int w64_probe(AVProbeData *p)
return 0; return 0;
} }


/** Find chunk with w64 GUID by skipping over other chunks
* @return the size of the found chunk
*/
static int64_t find_guid(ByteIOContext *pb, const uint8_t guid1[16])
{
uint8_t guid[16];
int64_t size;

while (!url_feof(pb)) {
get_buffer(pb, guid, 16);
size = get_le64(pb);
if (size <= 24)
return -1;
if (!memcmp(guid, guid1, 16))
return size;
url_fskip(pb, FFALIGN(size, INT64_C(8)) - 24);
}
return -1;
}

static int w64_read_header(AVFormatContext *s, AVFormatParameters *ap) static int w64_read_header(AVFormatContext *s, AVFormatParameters *ap)
{ {
int64_t size; int64_t size;


Loading…
Cancel
Save