for #738, add mp4 demuxer to librtmp

pull/756/head
winlin 8 years ago
parent 3f3e98e9db
commit 011ac4f6a9

@ -1545,6 +1545,31 @@ srs_bool srs_h264_startswith_annexb(char* h264_raw_data, int h264_raw_size, int*
return srs_avc_startswith_annexb(&stream, pnb_start_code); return srs_avc_startswith_annexb(&stream, pnb_start_code);
} }
struct Mp4Context
{
SrsFileReader reader;
};
srs_mp4_t srs_mp4_open_read(const char* file)
{
int ret = ERROR_SUCCESS;
Mp4Context* mp4 = new Mp4Context();
if ((ret = mp4->reader.open(file)) != ERROR_SUCCESS) {
srs_freep(mp4);
return NULL;
}
return mp4;
}
void srs_mp4_close(srs_mp4_t mp4)
{
Mp4Context* context = (Mp4Context*)mp4;
srs_freep(context);
}
struct FlvContext struct FlvContext
{ {
SrsFileReader reader; SrsFileReader reader;

@ -502,6 +502,17 @@ extern srs_bool srs_h264_startswith_annexb(
int* pnb_start_code int* pnb_start_code
); );
/*************************************************************
*************************************************************
* MP4 muxer and demuxer.
* @example /trunk/research/librtmp/srs_ingest_mp4.c
*************************************************************
*************************************************************/
typedef void* srs_mp4_t;
/* Open mp4 file for muxer(write) or demuxer(read). */
extern srs_mp4_t srs_mp4_open_read(const char* file);
extern void srs_mp4_close(srs_mp4_t mp4);
/************************************************************* /*************************************************************
************************************************************** **************************************************************
* flv codec * flv codec

Loading…
Cancel
Save