1
0
Fork 0
forked from len0rd/rockbox

Remove structec API from codecs

Change-Id: I1e67582c0521e6354b0175a11fcf690ae40dbd88
This commit is contained in:
Aidan MacDonald 2022-12-01 00:45:57 +00:00
parent 4745970974
commit 1131320d48
3 changed files with 23 additions and 15 deletions

View file

@ -27,11 +27,8 @@
#include "metadata.h"
#include "metadata_common.h"
#include "metadata_parsers.h"
#include "structec.h"
#define APETAG_HEADER_LENGTH 32
#define APETAG_HEADER_FORMAT "8llll8"
#define APETAG_ITEM_HEADER_FORMAT "ll"
#define APETAG_ITEM_TYPE_MASK 3
struct apetag_header
@ -57,12 +54,22 @@ bool read_ape_tags(int fd, struct mp3entry* id3)
{
struct apetag_header header;
if ((lseek(fd, -APETAG_HEADER_LENGTH, SEEK_END) < 0)
|| (ecread(fd, &header, 1, APETAG_HEADER_FORMAT, IS_BIG_ENDIAN)
!= APETAG_HEADER_LENGTH)
|| (memcmp(header.id, "APETAGEX", sizeof(header.id))))
{
if (lseek(fd, -APETAG_HEADER_LENGTH, SEEK_END) < 0)
return false;
if (read(fd, &header, sizeof(header)) != APETAG_HEADER_LENGTH)
return false;
if (memcmp(header.id, "APETAGEX", sizeof(header.id)))
return false;
/* APE tag is little endian - convert to native byte order if needed */
if (IS_BIG_ENDIAN)
{
header.version = swap32(header.version);
header.length = swap32(header.version);
header.item_count = swap32(header.version);
header.flags = swap32(header.version);
}
if ((header.version == 2000) && (header.item_count > 0)
@ -90,13 +97,16 @@ bool read_ape_tags(int fd, struct mp3entry* id3)
{
break;
}
if (ecread(fd, &item, 1, APETAG_ITEM_HEADER_FORMAT, IS_BIG_ENDIAN)
< (long) sizeof(item))
{
if (read(fd, &item, sizeof(item)) != sizeof(item))
return false;
if (IS_BIG_ENDIAN)
{
item.length = swap32(item.length);
item.flags = swap32(item.flags);
}
tag_remaining -= sizeof(item);
r = read_string(fd, name, sizeof(name), 0, tag_remaining);

View file

@ -27,7 +27,6 @@
#include "metadata.h"
#include "metadata_common.h"
#include "metadata_parsers.h"
#include "structec.h"
/* Define LOGF_ENABLE to enable logf output in this file */
/*#define LOGF_ENABLE*/

View file

@ -2,7 +2,6 @@ warble.c
../../../firmware/common/strmemccpy.c
../../../firmware/common/strlcpy.c
../../../firmware/common/unicode.c
../../../firmware/common/structec.c
../../../firmware/common/pathfuncs.c
../../../firmware/common/crc32.c
../../../firmware/buflib_mempool.c