pspasfparser.h

Go to the documentation of this file.
00001 /*
00002  * PSP Software Development Kit - http://www.pspdev.org
00003  * -----------------------------------------------------------------------
00004  * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
00005  *
00006  * pspasfparser.h - Prototypes for the sceAsfParser library.
00007  * usage: see
00008  * http://code.google.com/p/xreader/source/browse/branches/trunk-alpha-me/src/wmaplayer.c
00009  * for detail
00010  *
00011  * Copyright (c) 2009 hrimfaxi <outmatch@gmail.com>
00012  * Copyright (c) 2009 cooleyes <eyes.cooleyes@gmail.com>
00013  *
00014  */
00015 #ifndef __SCELIBASFPARSER_H__
00016 #define __SCELIBASFPARSER_H__
00017 
00018 #include <psptypes.h>
00019 
00020 #ifdef __cplusplus
00021 extern "C"
00022 {
00023 #endif
00024 
00026 typedef struct SceAsfFrame
00027 {
00028         ScePVoid pData;                 // frame data buffer, alloc by yourself
00029         SceUInt32 iFrameMs;             // current frame ms
00030         SceUInt32 iUnk1;
00031         SceUInt32 iUnk2;                // 0~7
00032         SceUInt32 iUnk3;                // maybe frame data size
00033         SceUInt32 iUnk4;                // first frame is 1, other is 0
00034         SceUInt32 iUnk5;                // 128 256 512 1024 2048
00035         SceUInt32 iUnk6;                // 128 256 512 1024 2048
00036         SceUChar8 u8Unknown[32];        // unknown
00037 } SceAsfFrame;
00038 
00040 typedef struct _SceAsfParser
00041 {
00042         SceUInt32 iUnk0;
00043         SceUInt32 iUnk1;
00044         SceUInt32 iUnk2;
00045         SceUInt32 iUnk3;
00046         SceUInt32 iUnk4;
00047         SceUInt32 iUnk5;
00048         SceUInt32 iUnk6;
00049         SceUInt32 iUnk7;
00050         SceUInt32 iNeedMem;             //8
00051         ScePVoid pNeedMemBuffer;        //9
00052 //  SceUInt32 iUnk10_3626[3616]; // 10 - 3626
00053         SceUInt32 iUnk10_20[10];        // 10 - 20 
00054         SceUInt64 iDuration;    // 20 - 22
00055         SceUInt32 iUnk22_3626[3604];    // 22 - 3626
00056         SceAsfFrame sFrame;             //3626 - 3345
00057         SceUInt32 iUnk3345_3643[298];   //3345 - 3643
00058         SceUInt32 iUnk3644;
00059         SceUInt32 iUnk3644_4095[451];
00060 } SceAsfParser;
00061 
00063 typedef SceInt64(*SceAsfParserReadCB) (void *user_data, void *buf,
00064                                                                            SceSize size);
00065 
00067 typedef SceInt64(*SceAsfParserSeekCB) (void *user_data, void *buf,
00068                                                                            SceOff offset, int whence);
00069 
00077 int sceAsfCheckNeedMem(SceAsfParser * parser);
00078 
00089 int sceAsfInitParser(SceAsfParser * parser, ScePVoid user_data,
00090                                          SceAsfParserReadCB read_cb,
00091                                          SceAsfParserSeekCB seek_cb);
00092 
00102 int sceAsfGetFrameData(SceAsfParser * parser, int unknown,
00103                                            SceAsfFrame * frame);
00104 
00114 int sceAsfSeekTime(SceAsfParser * parser, int unknown, SceUInt32 * ms);
00115 
00131 int sceAsfParser_685E0DA7(SceAsfParser * asf, void *ptr, int flag,
00132                                                   void *arg4, SceUInt64 * start, SceUInt64 * size);
00133 
00143 int sceAsfParser_C6D98C54(SceAsfParser * asf, void *unk, SceUInt64 * start,
00144                                                   SceUInt64 * size);
00145 
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149 
00150 #endif

Generated on Thu Sep 9 07:00:52 2010 for pspsdk-1.0+beta2 by  doxygen 1.5.6