[FFmpeg-cvslog] avformat/wtvenc: advise user when H264 startcode is not present
Peter Ross
git at videolan.org
Sun Mar 30 17:19:10 CEST 2014
ffmpeg | branch: master | Peter Ross <pross at xvid.org> | Sun Mar 30 12:42:05 2014 +1100| [92d657b5f1a40f7443abf8cdc99cdb96acb32bb3] | committer: Michael Niedermayer
avformat/wtvenc: advise user when H264 startcode is not present
Fixes ticket #3473.
Signed-off-by: Peter Ross <pross at xvid.org>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=92d657b5f1a40f7443abf8cdc99cdb96acb32bb3
---
libavformat/Makefile | 2 +-
libavformat/wtvenc.c | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 0aa7cfd..ae61813 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -418,7 +418,7 @@ OBJS-$(CONFIG_WSAUD_DEMUXER) += westwood_aud.o
OBJS-$(CONFIG_WSVQA_DEMUXER) += westwood_vqa.o
OBJS-$(CONFIG_WTV_DEMUXER) += wtvdec.o wtv_common.o asfdec.o asf.o asfcrypt.o \
avlanguage.o mpegts.o isom.o
-OBJS-$(CONFIG_WTV_MUXER) += wtvenc.o wtv_common.o
+OBJS-$(CONFIG_WTV_MUXER) += wtvenc.o wtv_common.o mpegtsenc.o
OBJS-$(CONFIG_WV_DEMUXER) += wvdec.o wv.o apetag.o img2.o
OBJS-$(CONFIG_WV_MUXER) += wvenc.o wv.o apetag.o img2.o
OBJS-$(CONFIG_XA_DEMUXER) += xa.o
diff --git a/libavformat/wtvenc.c b/libavformat/wtvenc.c
index a1286ae..f051c66 100644
--- a/libavformat/wtvenc.c
+++ b/libavformat/wtvenc.c
@@ -30,6 +30,7 @@
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
+#include "mpegts.h"
#include "wtv.h"
#define WTV_BIGSECTOR_SIZE (1 << WTV_BIGSECTOR_BITS)
@@ -460,10 +461,15 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
{
AVIOContext *pb = s->pb;
WtvContext *wctx = s->priv_data;
+ AVStream *st = s->streams[pkt->stream_index];
- if (s->streams[pkt->stream_index]->codec->codec_id == AV_CODEC_ID_MJPEG && !wctx->thumbnail.size) {
+ if (st->codec->codec_id == AV_CODEC_ID_MJPEG && !wctx->thumbnail.size) {
av_copy_packet(&wctx->thumbnail, pkt);
return 0;
+ } else if (st->codec->codec_id == AV_CODEC_ID_H264) {
+ int ret = ff_check_h264_startcode(s, st, pkt);
+ if (ret < 0)
+ return ret;
}
/* emit sync chunk and 'timeline.table.0.entries.Event' record every 50 frames */
More information about the ffmpeg-cvslog
mailing list