* qatar/master: libspeexenc: add supported sample rates and channel layouts. Replace usleep() calls with av_usleep() lavu: add av_usleep() function utvideo: mark interlaced frames as such utvideo: Fix interlaced prediction for RGB utvideo. cosmetics: do not use full path for local headers lavu/file: include unistd.h only when available configure: check for unistd.h log: include unistd.h only when needed lavf: include libavutil/time.h instead of redeclaring av_gettime() Conflicts: configure doc/APIchanges ffmpeg.c ffplay.c libavcodec/utvideo.c libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n1.0
@@ -1239,6 +1239,7 @@ HAVE_LIST=" | |||||
memalign | memalign | ||||
mkstemp | mkstemp | ||||
mmap | mmap | ||||
nanosleep | |||||
netinet_sctp_h | netinet_sctp_h | ||||
PeekNamedPipe | PeekNamedPipe | ||||
poll_h | poll_h | ||||
@@ -1251,6 +1252,7 @@ HAVE_LIST=" | |||||
sdl_video_size | sdl_video_size | ||||
setmode | setmode | ||||
setrlimit | setrlimit | ||||
Sleep | |||||
sndio_h | sndio_h | ||||
socklen_t | socklen_t | ||||
soundcard_h | soundcard_h | ||||
@@ -1278,8 +1280,11 @@ HAVE_LIST=" | |||||
threads | threads | ||||
trunc | trunc | ||||
truncf | truncf | ||||
unistd_h | |||||
usleep | |||||
vfp_args | vfp_args | ||||
VirtualAlloc | VirtualAlloc | ||||
windows_h | |||||
winsock2_h | winsock2_h | ||||
xform_asm | xform_asm | ||||
xmm_clobbers | xmm_clobbers | ||||
@@ -3159,6 +3164,7 @@ check_func strptime | |||||
check_func sched_getaffinity | check_func sched_getaffinity | ||||
check_func sysconf | check_func sysconf | ||||
check_func sysctl | check_func sysctl | ||||
check_func usleep | |||||
check_func_headers conio.h kbhit | check_func_headers conio.h kbhit | ||||
check_func_headers windows.h PeekNamedPipe | check_func_headers windows.h PeekNamedPipe | ||||
check_func_headers io.h setmode | check_func_headers io.h setmode | ||||
@@ -3168,6 +3174,7 @@ check_func_headers windows.h GetProcessAffinityMask | |||||
check_func_headers windows.h GetProcessTimes | check_func_headers windows.h GetProcessTimes | ||||
check_func_headers windows.h GetSystemTimeAsFileTime | check_func_headers windows.h GetSystemTimeAsFileTime | ||||
check_func_headers windows.h MapViewOfFile | check_func_headers windows.h MapViewOfFile | ||||
check_func_headers windows.h Sleep | |||||
check_func_headers windows.h VirtualAlloc | check_func_headers windows.h VirtualAlloc | ||||
check_func_headers glob.h glob | check_func_headers glob.h glob | ||||
@@ -3181,8 +3188,10 @@ check_header sys/param.h | |||||
check_header sys/resource.h | check_header sys/resource.h | ||||
check_header sys/select.h | check_header sys/select.h | ||||
check_header termios.h | check_header termios.h | ||||
check_header unistd.h | |||||
check_header vdpau/vdpau.h | check_header vdpau/vdpau.h | ||||
check_header vdpau/vdpau_x11.h | check_header vdpau/vdpau_x11.h | ||||
check_header windows.h | |||||
check_header X11/extensions/XvMClib.h | check_header X11/extensions/XvMClib.h | ||||
check_header asm/types.h | check_header asm/types.h | ||||
@@ -38,6 +38,9 @@ API changes, most recent first: | |||||
2012-03-26 - a67d9cf - lavfi 2.66.100 | 2012-03-26 - a67d9cf - lavfi 2.66.100 | ||||
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions. | Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions. | ||||
2012-06-22 - xxxxxxx - lavu 51.34.0 | |||||
Add av_usleep() | |||||
2012-06-20 - ae0a301 - lavu 51.33.0 | 2012-06-20 - ae0a301 - lavu 51.33.0 | ||||
Move av_gettime() to libavutil, add libavutil/time.h | Move av_gettime() to libavutil, add libavutil/time.h | ||||
@@ -31,7 +31,9 @@ | |||||
#include <errno.h> | #include <errno.h> | ||||
#include <signal.h> | #include <signal.h> | ||||
#include <limits.h> | #include <limits.h> | ||||
#if HAVE_ISATTY | |||||
#include <unistd.h> | #include <unistd.h> | ||||
#endif | |||||
#include "libavformat/avformat.h" | #include "libavformat/avformat.h" | ||||
#include "libavdevice/avdevice.h" | #include "libavdevice/avdevice.h" | ||||
#include "libswscale/swscale.h" | #include "libswscale/swscale.h" | ||||
@@ -51,6 +53,7 @@ | |||||
#include "libavutil/imgutils.h" | #include "libavutil/imgutils.h" | ||||
#include "libavutil/timestamp.h" | #include "libavutil/timestamp.h" | ||||
#include "libavutil/bprint.h" | #include "libavutil/bprint.h" | ||||
#include "libavutil/time.h" | |||||
#include "libavformat/os_support.h" | #include "libavformat/os_support.h" | ||||
#include "libavformat/ffm.h" // not public API | #include "libavformat/ffm.h" // not public API | ||||
@@ -2303,7 +2306,7 @@ static void rate_emu_sleep(InputStream *ist) | |||||
int64_t pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE); | int64_t pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE); | ||||
int64_t now = av_gettime() - ist->start; | int64_t now = av_gettime() - ist->start; | ||||
if (pts > now) | if (pts > now) | ||||
usleep(pts - now); | |||||
av_usleep(pts - now); | |||||
} | } | ||||
} | } | ||||
@@ -3342,7 +3345,7 @@ static void *input_thread(void *arg) | |||||
ret = av_read_frame(f->ctx, &pkt); | ret = av_read_frame(f->ctx, &pkt); | ||||
if (ret == AVERROR(EAGAIN)) { | if (ret == AVERROR(EAGAIN)) { | ||||
usleep(10000); | |||||
av_usleep(10000); | |||||
ret = 0; | ret = 0; | ||||
continue; | continue; | ||||
} else if (ret < 0) | } else if (ret < 0) | ||||
@@ -3504,7 +3507,7 @@ static int transcode(void) | |||||
if (no_packet_count) { | if (no_packet_count) { | ||||
no_packet_count = 0; | no_packet_count = 0; | ||||
memset(no_packet, 0, nb_input_files); | memset(no_packet, 0, nb_input_files); | ||||
usleep(10000); | |||||
av_usleep(10000); | |||||
continue; | continue; | ||||
} | } | ||||
av_log(NULL, AV_LOG_VERBOSE, "No more inputs to read from, finishing.\n"); | av_log(NULL, AV_LOG_VERBOSE, "No more inputs to read from, finishing.\n"); | ||||
@@ -37,6 +37,7 @@ | |||||
#include "libavutil/parseutils.h" | #include "libavutil/parseutils.h" | ||||
#include "libavutil/samplefmt.h" | #include "libavutil/samplefmt.h" | ||||
#include "libavutil/avassert.h" | #include "libavutil/avassert.h" | ||||
#include "libavutil/time.h" | |||||
#include "libavformat/avformat.h" | #include "libavformat/avformat.h" | ||||
#include "libavdevice/avdevice.h" | #include "libavdevice/avdevice.h" | ||||
#include "libswscale/swscale.h" | #include "libswscale/swscale.h" | ||||
@@ -57,7 +58,6 @@ | |||||
#include "cmdutils.h" | #include "cmdutils.h" | ||||
#include <unistd.h> | |||||
#include <assert.h> | #include <assert.h> | ||||
const char program_name[] = "ffplay"; | const char program_name[] = "ffplay"; | ||||
@@ -1015,7 +1015,7 @@ static int refresh_thread(void *opaque) | |||||
SDL_PushEvent(&event); | SDL_PushEvent(&event); | ||||
} | } | ||||
//FIXME ideally we should wait the correct time but SDLs event passing is so slow it would be silly | //FIXME ideally we should wait the correct time but SDLs event passing is so slow it would be silly | ||||
usleep(is->audio_st && is->show_mode != SHOW_MODE_VIDEO ? rdftspeed*1000 : 5000); | |||||
av_usleep(is->audio_st && is->show_mode != SHOW_MODE_VIDEO ? rdftspeed*1000 : 5000); | |||||
} | } | ||||
return 0; | return 0; | ||||
} | } | ||||
@@ -67,6 +67,8 @@ | |||||
#include <speex/speex.h> | #include <speex/speex.h> | ||||
#include <speex/speex_header.h> | #include <speex/speex_header.h> | ||||
#include <speex/speex_stereo.h> | #include <speex/speex_stereo.h> | ||||
#include "libavutil/audioconvert.h" | |||||
#include "libavutil/opt.h" | #include "libavutil/opt.h" | ||||
#include "avcodec.h" | #include "avcodec.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
@@ -332,6 +334,10 @@ AVCodec ff_libspeex_encoder = { | |||||
.capabilities = CODEC_CAP_DELAY, | .capabilities = CODEC_CAP_DELAY, | ||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, | .sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16, | ||||
AV_SAMPLE_FMT_NONE }, | AV_SAMPLE_FMT_NONE }, | ||||
.channel_layouts = (const uint64_t[]){ AV_CH_LAYOUT_MONO, | |||||
AV_CH_LAYOUT_STEREO, | |||||
0 }, | |||||
.supported_samplerates = (const int[]){ 8000, 16000, 32000, 0 }, | |||||
.long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"), | .long_name = NULL_IF_CONFIG_SMALL("libspeex Speex"), | ||||
.priv_class = &class, | .priv_class = &class, | ||||
.defaults = defaults, | .defaults = defaults, | ||||
@@ -437,16 +437,17 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, | |||||
plane_start[i], c->frame_pred == PRED_LEFT); | plane_start[i], c->frame_pred == PRED_LEFT); | ||||
if (ret) | if (ret) | ||||
return ret; | return ret; | ||||
if (c->frame_pred == PRED_MEDIAN) | |||||
if (c->frame_pred == PRED_MEDIAN) { | |||||
if (!c->interlaced) { | if (!c->interlaced) { | ||||
restore_median(c->pic.data[0] + rgb_order[i], c->planes, | |||||
c->pic.linesize[0], avctx->width, avctx->height, | |||||
c->slices, 0); | |||||
restore_median(c->pic.data[0] + rgb_order[i], c->planes, | |||||
c->pic.linesize[0], avctx->width, | |||||
avctx->height, c->slices, 0); | |||||
} else { | } else { | ||||
restore_median_il(c->pic.data[0] + rgb_order[i], c->planes, | restore_median_il(c->pic.data[0] + rgb_order[i], c->planes, | ||||
c->pic.linesize[0], avctx->width, avctx->height, | |||||
c->slices, 0); | |||||
c->pic.linesize[0], avctx->width, | |||||
avctx->height, c->slices, 0); | |||||
} | } | ||||
} | |||||
} | } | ||||
restore_rgb_planes(c->pic.data[0], c->planes, c->pic.linesize[0], | restore_rgb_planes(c->pic.data[0], c->planes, c->pic.linesize[0], | ||||
avctx->width, avctx->height); | avctx->width, avctx->height); | ||||
@@ -26,8 +26,8 @@ | |||||
* 3,3 is bugged in the rv40 format and maps to _xy2 version | * 3,3 is bugged in the rv40 format and maps to _xy2 version | ||||
*/ | */ | ||||
#include "libavcodec/x86/dsputil_mmx.h" | |||||
#include "libavcodec/rv34dsp.h" | #include "libavcodec/rv34dsp.h" | ||||
#include "dsputil_mmx.h" | |||||
void ff_put_rv40_chroma_mc8_mmx (uint8_t *dst, uint8_t *src, | void ff_put_rv40_chroma_mc8_mmx (uint8_t *dst, uint8_t *src, | ||||
int stride, int h, int x, int y); | int stride, int h, int x, int y); | ||||
@@ -201,6 +201,10 @@ | |||||
#include "avio.h" | #include "avio.h" | ||||
#include "libavformat/version.h" | #include "libavformat/version.h" | ||||
#if FF_API_AV_GETTIME | |||||
#include "libavutil/time.h" | |||||
#endif | |||||
struct AVFormatContext; | struct AVFormatContext; | ||||
@@ -1854,10 +1858,6 @@ void av_dump_format(AVFormatContext *ic, | |||||
const char *url, | const char *url, | ||||
int is_output); | int is_output); | ||||
#if FF_API_AV_GETTIME | |||||
int64_t av_gettime(void); | |||||
#endif | |||||
/** | /** | ||||
* Return in 'buf' the path with '%d' replaced by a number. | * Return in 'buf' the path with '%d' replaced by a number. | ||||
* | * | ||||
@@ -19,11 +19,10 @@ | |||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
*/ | */ | ||||
#include <unistd.h> | |||||
#include "libavutil/avstring.h" | #include "libavutil/avstring.h" | ||||
#include "libavutil/dict.h" | #include "libavutil/dict.h" | ||||
#include "libavutil/opt.h" | #include "libavutil/opt.h" | ||||
#include "libavutil/time.h" | |||||
#include "os_support.h" | #include "os_support.h" | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#if CONFIG_NETWORK | #if CONFIG_NETWORK | ||||
@@ -268,7 +267,7 @@ static inline int retry_transfer_wrapper(URLContext *h, unsigned char *buf, int | |||||
if (fast_retries) | if (fast_retries) | ||||
fast_retries--; | fast_retries--; | ||||
else | else | ||||
usleep(1000); | |||||
av_usleep(1000); | |||||
} else if (ret < 1) | } else if (ret < 1) | ||||
return ret < 0 ? ret : len; | return ret < 0 ? ret : len; | ||||
if (ret) | if (ret) | ||||
@@ -30,9 +30,9 @@ | |||||
#include "libavutil/mathematics.h" | #include "libavutil/mathematics.h" | ||||
#include "libavutil/opt.h" | #include "libavutil/opt.h" | ||||
#include "libavutil/dict.h" | #include "libavutil/dict.h" | ||||
#include "libavutil/time.h" | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include <unistd.h> | |||||
#include "avio_internal.h" | #include "avio_internal.h" | ||||
#include "url.h" | #include "url.h" | ||||
@@ -407,7 +407,7 @@ reload: | |||||
while (av_gettime() - v->last_load_time < reload_interval) { | while (av_gettime() - v->last_load_time < reload_interval) { | ||||
if (ff_check_interrupt(c->interrupt_callback)) | if (ff_check_interrupt(c->interrupt_callback)) | ||||
return AVERROR_EXIT; | return AVERROR_EXIT; | ||||
usleep(100*1000); | |||||
av_usleep(100*1000); | |||||
} | } | ||||
/* Enough time has elapsed since the last reload */ | /* Enough time has elapsed since the last reload */ | ||||
goto reload; | goto reload; | ||||
@@ -26,11 +26,11 @@ | |||||
*/ | */ | ||||
#include "libavutil/avstring.h" | #include "libavutil/avstring.h" | ||||
#include "libavutil/time.h" | |||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "internal.h" | #include "internal.h" | ||||
#include "url.h" | #include "url.h" | ||||
#include "version.h" | #include "version.h" | ||||
#include <unistd.h> | |||||
/* | /* | ||||
* An apple http stream consists of a playlist with media segment files, | * An apple http stream consists of a playlist with media segment files, | ||||
@@ -308,7 +308,7 @@ retry: | |||||
while (av_gettime() - s->last_load_time < reload_interval) { | while (av_gettime() - s->last_load_time < reload_interval) { | ||||
if (ff_check_interrupt(&h->interrupt_callback)) | if (ff_check_interrupt(&h->interrupt_callback)) | ||||
return AVERROR_EXIT; | return AVERROR_EXIT; | ||||
usleep(100*1000); | |||||
av_usleep(100*1000); | |||||
} | } | ||||
goto retry; | goto retry; | ||||
} | } | ||||
@@ -24,11 +24,10 @@ | |||||
* RTMP HTTP protocol | * RTMP HTTP protocol | ||||
*/ | */ | ||||
#include <unistd.h> | |||||
#include "libavutil/avstring.h" | #include "libavutil/avstring.h" | ||||
#include "libavutil/intfloat.h" | #include "libavutil/intfloat.h" | ||||
#include "libavutil/opt.h" | #include "libavutil/opt.h" | ||||
#include "libavutil/time.h" | |||||
#include "internal.h" | #include "internal.h" | ||||
#include "http.h" | #include "http.h" | ||||
@@ -126,7 +125,7 @@ static int rtmp_http_read(URLContext *h, uint8_t *buf, int size) | |||||
if (rt->nb_bytes_read == 0) { | if (rt->nb_bytes_read == 0) { | ||||
/* Wait 50ms before retrying to read a server reply in | /* Wait 50ms before retrying to read a server reply in | ||||
* order to reduce the number of idle requets. */ | * order to reduce the number of idle requets. */ | ||||
usleep(50000); | |||||
av_usleep(50000); | |||||
} | } | ||||
if ((ret = rtmp_http_write(h, "", 1)) < 0) | if ((ret = rtmp_http_write(h, "", 1)) < 0) | ||||
@@ -18,8 +18,8 @@ | |||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
*/ | */ | ||||
#include "libavutil/arm/cpu.h" | |||||
#include "libavutil/float_dsp.h" | #include "libavutil/float_dsp.h" | ||||
#include "cpu.h" | |||||
#include "float_dsp_arm.h" | #include "float_dsp_arm.h" | ||||
void ff_float_dsp_init_arm(AVFloatDSPContext *fdsp) | void ff_float_dsp_init_arm(AVFloatDSPContext *fdsp) | ||||
@@ -18,8 +18,8 @@ | |||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
*/ | */ | ||||
#include "libavutil/arm/cpu.h" | |||||
#include "libavutil/float_dsp.h" | #include "libavutil/float_dsp.h" | ||||
#include "cpu.h" | |||||
#include "float_dsp_arm.h" | #include "float_dsp_arm.h" | ||||
void ff_vector_fmul_vfp(float *dst, const float *src0, const float *src1, | void ff_vector_fmul_vfp(float *dst, const float *src0, const float *src1, | ||||
@@ -153,7 +153,7 @@ | |||||
*/ | */ | ||||
#define LIBAVUTIL_VERSION_MAJOR 51 | #define LIBAVUTIL_VERSION_MAJOR 51 | ||||
#define LIBAVUTIL_VERSION_MINOR 60 | |||||
#define LIBAVUTIL_VERSION_MINOR 61 | |||||
#define LIBAVUTIL_VERSION_MICRO 100 | #define LIBAVUTIL_VERSION_MICRO 100 | ||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||
@@ -20,7 +20,9 @@ | |||||
#include "log.h" | #include "log.h" | ||||
#include <fcntl.h> | #include <fcntl.h> | ||||
#include <sys/stat.h> | #include <sys/stat.h> | ||||
#if HAVE_UNISTD_H | |||||
#include <unistd.h> | #include <unistd.h> | ||||
#endif | |||||
#if HAVE_MMAP | #if HAVE_MMAP | ||||
#include <sys/mman.h> | #include <sys/mman.h> | ||||
#elif HAVE_MAPVIEWOFFILE | #elif HAVE_MAPVIEWOFFILE | ||||
@@ -24,7 +24,11 @@ | |||||
* logging functions | * logging functions | ||||
*/ | */ | ||||
#include "config.h" | |||||
#if HAVE_ISATTY | |||||
#include <unistd.h> | #include <unistd.h> | ||||
#endif | |||||
#include <stdlib.h> | #include <stdlib.h> | ||||
#include "avutil.h" | #include "avutil.h" | ||||
#include "log.h" | #include "log.h" | ||||
@@ -22,13 +22,19 @@ | |||||
#include <stddef.h> | #include <stddef.h> | ||||
#include <stdint.h> | #include <stdint.h> | ||||
#include <time.h> | |||||
#if HAVE_GETTIMEOFDAY | #if HAVE_GETTIMEOFDAY | ||||
#include <sys/time.h> | #include <sys/time.h> | ||||
#elif HAVE_GETSYSTEMTIMEASFILETIME | |||||
#endif | |||||
#if HAVE_UNISTD_H | |||||
#include <unistd.h> | |||||
#endif | |||||
#if HAVE_WINDOWS_H | |||||
#include <windows.h> | #include <windows.h> | ||||
#endif | #endif | ||||
#include "libavutil/time.h" | #include "libavutil/time.h" | ||||
#include "error.h" | |||||
int64_t av_gettime(void) | int64_t av_gettime(void) | ||||
{ | { | ||||
@@ -46,3 +52,19 @@ int64_t av_gettime(void) | |||||
return -1; | return -1; | ||||
#endif | #endif | ||||
} | } | ||||
int av_usleep(unsigned usec) | |||||
{ | |||||
#if HAVE_NANOSLEEP | |||||
struct timespec ts = { usec / 1000000, usec % 1000000 * 1000 }; | |||||
while (nanosleep(&ts, &ts) < 0 && errno == EINTR); | |||||
return 0; | |||||
#elif HAVE_USLEEP | |||||
return usleep(usec); | |||||
#elif HAVE_SLEEP | |||||
Sleep(usec / 1000); | |||||
return 0; | |||||
#else | |||||
return AVERROR(ENOSYS); | |||||
#endif | |||||
} |
@@ -28,4 +28,14 @@ | |||||
*/ | */ | ||||
int64_t av_gettime(void); | int64_t av_gettime(void); | ||||
/** | |||||
* Sleep for a period of time. Although the duration is expressed in | |||||
* microseconds, the actual delay may be rounded to the precision of the | |||||
* system timer. | |||||
* | |||||
* @param usec Number of microseconds to sleep. | |||||
* @return zero on success or (negative) error code. | |||||
*/ | |||||
int av_usleep(unsigned usec); | |||||
#endif /* AVUTIL_TIME_H */ | #endif /* AVUTIL_TIME_H */ |
@@ -20,8 +20,8 @@ | |||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <stdlib.h> | #include <stdlib.h> | ||||
#include <unistd.h> | |||||
#include "libavutil/time.h" | |||||
#include "libavformat/avformat.h" | #include "libavformat/avformat.h" | ||||
static int usage(const char *argv0, int ret) | static int usage(const char *argv0, int ret) | ||||
@@ -82,7 +82,7 @@ int main(int argc, char **argv) | |||||
if (bps) { | if (bps) { | ||||
avio_flush(output); | avio_flush(output); | ||||
while ((av_gettime() - start_time) * bps / AV_TIME_BASE < stream_pos) | while ((av_gettime() - start_time) * bps / AV_TIME_BASE < stream_pos) | ||||
usleep(50 * 1000); | |||||
av_usleep(50 * 1000); | |||||
} | } | ||||
} | } | ||||
@@ -25,6 +25,7 @@ | |||||
#include <string.h> | #include <string.h> | ||||
#include <unistd.h> | #include <unistd.h> | ||||
#include "libavutil/time.h" | |||||
#include "libavformat/avformat.h" | #include "libavformat/avformat.h" | ||||
#define PKTFILESUFF "_%08" PRId64 "_%02d_%010" PRId64 "_%06d_%c.bin" | #define PKTFILESUFF "_%08" PRId64 "_%02d_%010" PRId64 "_%06d_%c.bin" | ||||
@@ -122,7 +123,7 @@ int main(int argc, char **argv) | |||||
avformat_close_input(&fctx); | avformat_close_input(&fctx); | ||||
while (donotquit) | while (donotquit) | ||||
usleep(60 * 1000000); | |||||
av_usleep(60 * 1000000); | |||||
return 0; | return 0; | ||||
} | } |