diff options
| author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
|---|---|---|
| committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
| commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
| tree | 9b20069d5e62809ff434061ad730096836f916f2 /apps/codecs/librm/rm.h | |
| parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
| download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.bz2 rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.xz | |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'apps/codecs/librm/rm.h')
| -rw-r--r-- | apps/codecs/librm/rm.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/apps/codecs/librm/rm.h b/apps/codecs/librm/rm.h deleted file mode 100644 index c4a4e3a..0000000 --- a/apps/codecs/librm/rm.h +++ /dev/null @@ -1,102 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2009 Mohamed Tarek - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#ifndef _RM_H -#define _RM_H - -#include <stdio.h> -#include <inttypes.h> -#include "bytestream.h" - -#define MAX_EXTRADATA_SIZE 16 -#define DATA_HEADER_SIZE 18 -#define PACKET_HEADER_SIZE 12 - -enum codecs { - CODEC_COOK, - CODEC_AAC, - CODEC_AC3, - CODEC_ATRAC -}; - -typedef struct rm_packet -{ - uint8_t *frames[100]; /* Pointers to ordered audio frames in buffer */ - uint16_t version; - uint16_t length; - uint32_t timestamp; - uint16_t stream_number; - uint8_t flags; - -#ifdef TEST - uint8_t data[30000]; /* Reordered data. No malloc, hence the size */ -#endif -}RMPacket; - -typedef struct rm_context -{ - /* Demux Context */ - int old_format; - int current_stream; - int remaining_len; - int audio_stream_num; /*< Stream number for audio packets*/ - int audio_pkt_cnt; /* Output packet counter*/ - - /* Stream Variables */ - uint32_t data_offset; - uint32_t duration; - uint32_t audiotimestamp; /* Audio packet timestamp*/ - uint16_t sub_packet_cnt; /* Subpacket counter, used while reading */ - uint16_t sub_packet_size, sub_packet_h, coded_framesize; /* Descrambling parameters from container */ - uint16_t audio_framesize; /* Audio frame size from container */ - uint16_t sub_packet_lengths[16]; /* Length of each subpacket */ - - /* Codec Context */ - enum codecs codec_type; - uint16_t block_align; - uint32_t nb_packets; - int frame_number; - uint16_t sample_rate; - uint16_t nb_channels; - uint32_t bit_rate; - uint16_t flags; - - /*codec extradata*/ - uint32_t extradata_size; - uint8_t codec_extradata[MAX_EXTRADATA_SIZE]; - -} RMContext; - -int real_parse_header(int fd, RMContext *rmctx); - -/* Get a (sub_packet_h*frames_per_packet) number of audio frames from a memory buffer */ -int rm_get_packet(uint8_t **src,RMContext *rmctx, RMPacket *pkt); - -#ifdef TEST - -int filesize(int fd); -void advance_buffer(uint8_t **buf, int val); - -/* Get a (sub_packet_h*frames_per_packet) number of audio frames from a file descriptor */ -void rm_get_packet_fd(int fd,RMContext *rmctx, RMPacket *pkt); - -#endif /* TEST */ - -#endif /* _RM_H */ |