1/* 2 * ADTS muxer. 3 * Copyright (c) 2006 Baptiste Coudurier <baptiste.coudurier@smartjog.com> 4 * Mans Rullgard <mans@mansr.com> 5 * 6 * This file is part of Libav. 7 * 8 * Libav is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * Libav is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with Libav; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 */ 22 23#ifndef AVFORMAT_ADTS_H 24#define AVFORMAT_ADTS_H 25 26#include "avformat.h" 27#include "libavcodec/mpeg4audio.h" 28 29#define ADTS_HEADER_SIZE 7 30 31typedef struct { 32 int write_adts; 33 int objecttype; 34 int sample_rate_index; 35 int channel_conf; 36 int pce_size; 37 uint8_t pce_data[MAX_PCE_SIZE]; 38} ADTSContext; 39 40int ff_adts_write_frame_header(ADTSContext *ctx, uint8_t *buf, 41 int size, int pce_size); 42int ff_adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, 43 uint8_t *buf, int size); 44 45#endif /* AVFORMAT_ADTS_H */ 46