Commit c0a4b1ff authored by lu_zero's avatar lu_zero

Stray commit reverted

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@10198 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 32fefcbe
...@@ -1871,7 +1871,7 @@ static int decode_thread(void *arg) ...@@ -1871,7 +1871,7 @@ static int decode_thread(void *arg)
{ {
VideoState *is = arg; VideoState *is = arg;
AVFormatContext *ic; AVFormatContext *ic;
int err, i, ret, video_index, audio_index; int err, i, ret, video_index, audio_index, use_play;
AVPacket pkt1, *pkt = &pkt1; AVPacket pkt1, *pkt = &pkt1;
AVFormatParameters params, *ap = &params; AVFormatParameters params, *ap = &params;
...@@ -1885,6 +1885,8 @@ static int decode_thread(void *arg) ...@@ -1885,6 +1885,8 @@ static int decode_thread(void *arg)
url_set_interrupt_cb(decode_interrupt_cb); url_set_interrupt_cb(decode_interrupt_cb);
memset(ap, 0, sizeof(*ap)); memset(ap, 0, sizeof(*ap));
ap->initial_pause = 1; /* we force a pause when starting an RTSP
stream */
ap->width = frame_width; ap->width = frame_width;
ap->height= frame_height; ap->height= frame_height;
...@@ -1898,10 +1900,16 @@ static int decode_thread(void *arg) ...@@ -1898,10 +1900,16 @@ static int decode_thread(void *arg)
goto fail; goto fail;
} }
is->ic = ic; is->ic = ic;
#ifdef CONFIG_RTSP_DEMUXER
use_play = (ic->iformat == &rtsp_demuxer);
#else
use_play = 0;
#endif
if(genpts) if(genpts)
ic->flags |= AVFMT_FLAG_GENPTS; ic->flags |= AVFMT_FLAG_GENPTS;
if (!use_play) {
err = av_find_stream_info(ic); err = av_find_stream_info(ic);
if (err < 0) { if (err < 0) {
fprintf(stderr, "%s: could not find codec parameters\n", is->filename); fprintf(stderr, "%s: could not find codec parameters\n", is->filename);
...@@ -1909,6 +1917,7 @@ static int decode_thread(void *arg) ...@@ -1909,6 +1917,7 @@ static int decode_thread(void *arg)
goto fail; goto fail;
} }
ic->pb.eof_reached= 0; //FIXME hack, ffplay maybe should not use url_feof() to test for the end ic->pb.eof_reached= 0; //FIXME hack, ffplay maybe should not use url_feof() to test for the end
}
/* if seeking requested, we execute it */ /* if seeking requested, we execute it */
if (start_time != AV_NOPTS_VALUE) { if (start_time != AV_NOPTS_VALUE) {
...@@ -1925,6 +1934,18 @@ static int decode_thread(void *arg) ...@@ -1925,6 +1934,18 @@ static int decode_thread(void *arg)
} }
} }
/* now we can begin to play (RTSP stream only) */
av_read_play(ic);
if (use_play) {
err = av_find_stream_info(ic);
if (err < 0) {
fprintf(stderr, "%s: could not find codec parameters\n", is->filename);
ret = -1;
goto fail;
}
}
for(i = 0; i < ic->nb_streams; i++) { for(i = 0; i < ic->nb_streams; i++) {
AVCodecContext *enc = ic->streams[i]->codec; AVCodecContext *enc = ic->streams[i]->codec;
switch(enc->codec_type) { switch(enc->codec_type) {
......
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