summaryrefslogtreecommitdiff
path: root/ffserver.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-11-23 18:40:25 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-11-27 14:08:00 +0100
commit9478bd87d463c24d8120b64508b4bd6c00bf3ae8 (patch)
tree81aee3cdfd844f6710ddc3ff247a4d744f8061de /ffserver.c
parentbc9eb0467a52828d6be48de5e60f042bf3b62d1f (diff)
downloadffmpeg-9478bd87d463c24d8120b64508b4bd6c00bf3ae8.tar.gz
ffserver: Remove extract_mpeg4_header()
This should not be needed, our AVParsers should do this I do not have a testcase though, please help testing this and please add fate tests if you can. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'ffserver.c')
-rw-r--r--ffserver.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/ffserver.c b/ffserver.c
index 01f311df67..d40fe802db 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3599,57 +3599,6 @@ static void remove_stream(FFServerStream *stream)
}
}
-/* specific MPEG4 handling : we extract the raw parameters */
-static void extract_mpeg4_header(AVFormatContext *infile)
-{
- int mpeg4_count, i, size;
- AVPacket pkt;
- AVStream *st;
- const uint8_t *p;
-
- infile->flags |= AVFMT_FLAG_NOFILLIN | AVFMT_FLAG_NOPARSE;
-
- mpeg4_count = 0;
- for(i=0;i<infile->nb_streams;i++) {
- st = infile->streams[i];
- if (st->codec->codec_id == AV_CODEC_ID_MPEG4 &&
- st->codec->extradata_size == 0) {
- mpeg4_count++;
- }
- }
- if (!mpeg4_count)
- return;
-
- printf("MPEG4 without extra data: trying to find header in %s\n",
- infile->filename);
- while (mpeg4_count > 0) {
- if (av_read_frame(infile, &pkt) < 0)
- break;
- st = infile->streams[pkt.stream_index];
- if (st->codec->codec_id == AV_CODEC_ID_MPEG4 &&
- st->codec->extradata_size == 0) {
- av_freep(&st->codec->extradata);
- /* fill extradata with the header */
- /* XXX: we make hard suppositions here ! */
- p = pkt.data;
- while (p < pkt.data + pkt.size - 4) {
- /* stop when vop header is found */
- if (p[0] == 0x00 && p[1] == 0x00 &&
- p[2] == 0x01 && p[3] == 0xb6) {
- size = p - pkt.data;
- st->codec->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
- st->codec->extradata_size = size;
- memcpy(st->codec->extradata, pkt.data, size);
- break;
- }
- p++;
- }
- mpeg4_count--;
- }
- av_packet_unref(&pkt);
- }
-}
-
/* compute the needed AVStream for each file */
static void build_file_streams(void)
{
@@ -3700,7 +3649,6 @@ static void build_file_streams(void)
avformat_close_input(&infile);
goto fail;
}
- extract_mpeg4_header(infile);
for(i=0;i<infile->nb_streams;i++)
add_av_stream1(stream, infile->streams[i]->codec, 1);