00001 /* 00002 * This file is part of libbluray 00003 * Copyright (C) 2010 hpi1 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library. If not, see 00017 * <http://www.gnu.org/licenses/>. 00018 */ 00019 00020 #if !defined(_M2TS_DEMUX_H_) 00021 #define _M2TS_DEMUX_H_ 00022 00023 #include <util/attributes.h> 00024 00025 #include <stdint.h> 00026 00027 #ifdef __cplusplus 00028 extern "C" { 00029 #endif 00030 00031 /* 00032 * simple single-pid demuxer for BDAV m2ts. 00033 */ 00034 00035 struct pes_buffer_s; 00036 typedef struct m2ts_demux_s M2TS_DEMUX; 00037 00038 BD_PRIVATE M2TS_DEMUX *m2ts_demux_init(uint16_t pid); 00039 BD_PRIVATE void m2ts_demux_free(M2TS_DEMUX **); 00040 00041 /* 00042 * Demux aligned unit (mpeg-ts + pes). 00043 * input: aligned unit (6144 bytes). NULL to flush demuxer buffer. 00044 * output: PES payload 00045 * Flush demuxer internal cache if block == NULL. 00046 */ 00047 BD_PRIVATE struct pes_buffer_s *m2ts_demux(M2TS_DEMUX *, uint8_t *block); 00048 00049 #ifdef __cplusplus 00050 }; 00051 #endif 00052 00053 #endif // _M2TS_DEMUX_H_
1.6.3