Commit 8cb1d908 authored by philipjsg's avatar philipjsg

* Add code to allow the img reader to read files at the nominal frame rate.

  This (will) allow testing of ffserver in an automated way. The code is nasty
  in that it uses a global.......


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@1331 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 239b2041
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#include <unistd.h>
#include "avformat.h" #include "avformat.h"
extern AVInputFormat pgm_iformat; extern AVInputFormat pgm_iformat;
...@@ -55,6 +56,8 @@ typedef struct { ...@@ -55,6 +56,8 @@ typedef struct {
char path[1024]; char path[1024];
} VideoData; } VideoData;
int emulate_frame_rate;
static inline int pnm_space(int c) static inline int pnm_space(int c)
{ {
return (c==' ' || c=='\n' || c=='\r' || c=='\t'); return (c==' ' || c=='\n' || c=='\r' || c=='\t');
...@@ -190,6 +193,23 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt) ...@@ -190,6 +193,23 @@ static int img_read_packet(AVFormatContext *s1, AVPacket *pkt)
char filename[1024]; char filename[1024];
int ret; int ret;
ByteIOContext f1, *f; ByteIOContext f1, *f;
static INT64 first_frame;
if (emulate_frame_rate) {
if (!first_frame) {
first_frame = av_gettime();
} else {
INT64 pts;
INT64 nowus;
nowus = av_gettime() - first_frame;
pts = ((INT64)s->img_number * FRAME_RATE_BASE * 1000000) / (s1->streams[0]->codec.frame_rate);
if (pts > nowus)
usleep(pts - nowus);
}
}
/* /*
This if-statement destroys pipes - I do not see why it is necessary This if-statement destroys pipes - I do not see why it is necessary
......
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