[FFmpeg-soc] [soc]: r3757 - libavfilter/diffs/01_ffplay_filters.diff
stefano
subversion at mplayerhq.hu
Thu Oct 2 22:48:41 CEST 2008
Author: stefano
Date: Thu Oct 2 22:48:41 2008
New Revision: 3757
Log:
Fix a crash when using the rawvideo decoder in ffplay.
The rawvideo decoder uses the packet data to set the data in the
output AVFrame, so when the packet containing the data was released in
get_video_frame(), then the AVFrame data was released as well, and
when accessed caused a crash.
Modified:
libavfilter/diffs/01_ffplay_filters.diff
Modified: libavfilter/diffs/01_ffplay_filters.diff
==============================================================================
--- libavfilter/diffs/01_ffplay_filters.diff (original)
+++ libavfilter/diffs/01_ffplay_filters.diff Thu Oct 2 22:48:41 2008
@@ -210,7 +210,7 @@ Index: ffplay.c
/* update the bitmap content */
SDL_UnlockYUVOverlay(vp->bmp);
-@@ -1332,54 +1403,253 @@
+@@ -1332,54 +1403,256 @@
return queue_picture(is, src_frame, pts);
}
@@ -247,7 +247,10 @@ Index: ffplay.c
+ /* put pts into units of 1/AV_TIME_BASE */
+ *pts = AV_TIME_BASE * (*pts) * is->video_st->time_base.num /
+ is->video_st->time_base.den;
-+ av_free_packet(pkt);
++
++ /* rawvideo decoder uses the packet data to set the data in the output AVFrame */
++ if (is->video_st->codec->codec->id != CODEC_ID_RAWVIDEO)
++ av_free_packet(pkt);
+ if(got_picture)
+ return 1;
+ return 0;
@@ -495,7 +498,7 @@ Index: ffplay.c
av_free(frame);
return 0;
}
-@@ -2156,6 +2426,12 @@
+@@ -2156,6 +2429,12 @@
/* free all pictures */
for(i=0;i<VIDEO_PICTURE_QUEUE_SIZE; i++) {
vp = &is->pictq[i];
@@ -508,7 +511,7 @@ Index: ffplay.c
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
-@@ -2493,6 +2769,9 @@
+@@ -2493,6 +2772,9 @@
{ "ec", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&error_concealment}, "set error concealment options", "bit_mask" },
{ "sync", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_sync}, "set audio-video sync. type (type=audio/video/ext)", "type" },
{ "threads", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_thread_count}, "thread count", "count" },
More information about the FFmpeg-soc
mailing list