Commit 485d3ea0 authored by Jindrich Makovicka's avatar Jindrich Makovicka Committed by Martin Storsjö

adtsenc: Don't expose the muxer internals to the rest of lavf

This isn't required any longer, when the mpegts muxer uses it
as a proper chained muxer.
Signed-off-by: 's avatarJindrich Makovicka <makovick@gmail.com>
Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent b1c56eab
/*
* ADTS muxer.
* Copyright (c) 2006 Baptiste Coudurier <baptiste.coudurier@smartjog.com>
* Mans Rullgard <mans@mansr.com>
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVFORMAT_ADTS_H
#define AVFORMAT_ADTS_H
#include "avformat.h"
#include "libavcodec/mpeg4audio.h"
#define ADTS_HEADER_SIZE 7
typedef struct {
int write_adts;
int objecttype;
int sample_rate_index;
int channel_conf;
int pce_size;
uint8_t pce_data[MAX_PCE_SIZE];
} ADTSContext;
int ff_adts_write_frame_header(ADTSContext *ctx, uint8_t *buf,
int size, int pce_size);
int ff_adts_decode_extradata(AVFormatContext *s, ADTSContext *adts,
uint8_t *buf, int size);
#endif /* AVFORMAT_ADTS_H */
...@@ -25,11 +25,21 @@ ...@@ -25,11 +25,21 @@
#include "libavcodec/avcodec.h" #include "libavcodec/avcodec.h"
#include "libavcodec/mpeg4audio.h" #include "libavcodec/mpeg4audio.h"
#include "avformat.h" #include "avformat.h"
#include "adts.h"
#define ADTS_HEADER_SIZE 7
typedef struct {
int write_adts;
int objecttype;
int sample_rate_index;
int channel_conf;
int pce_size;
uint8_t pce_data[MAX_PCE_SIZE];
} ADTSContext;
#define ADTS_MAX_FRAME_BYTES ((1 << 13) - 1) #define ADTS_MAX_FRAME_BYTES ((1 << 13) - 1)
int ff_adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, uint8_t *buf, int size) static int adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, uint8_t *buf, int size)
{ {
GetBitContext gb; GetBitContext gb;
PutBitContext pb; PutBitContext pb;
...@@ -84,13 +94,13 @@ static int adts_write_header(AVFormatContext *s) ...@@ -84,13 +94,13 @@ static int adts_write_header(AVFormatContext *s)
AVCodecContext *avc = s->streams[0]->codec; AVCodecContext *avc = s->streams[0]->codec;
if (avc->extradata_size > 0 && if (avc->extradata_size > 0 &&
ff_adts_decode_extradata(s, adts, avc->extradata, avc->extradata_size) < 0) adts_decode_extradata(s, adts, avc->extradata, avc->extradata_size) < 0)
return -1; return -1;
return 0; return 0;
} }
int ff_adts_write_frame_header(ADTSContext *ctx, static int adts_write_frame_header(ADTSContext *ctx,
uint8_t *buf, int size, int pce_size) uint8_t *buf, int size, int pce_size)
{ {
PutBitContext pb; PutBitContext pb;
...@@ -137,7 +147,7 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -137,7 +147,7 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt)
if (!pkt->size) if (!pkt->size)
return 0; return 0;
if (adts->write_adts) { if (adts->write_adts) {
int err = ff_adts_write_frame_header(adts, buf, pkt->size, int err = adts_write_frame_header(adts, buf, pkt->size,
adts->pce_size); adts->pce_size);
if (err < 0) if (err < 0)
return err; return err;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment