mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
avformat/async: fix integer conversion warning
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
1964aeae42
commit
b821aed706
@ -50,7 +50,7 @@ typedef struct Context {
|
|||||||
URLContext *inner;
|
URLContext *inner;
|
||||||
|
|
||||||
int seek_request;
|
int seek_request;
|
||||||
size_t seek_pos;
|
int64_t seek_pos;
|
||||||
int seek_whence;
|
int seek_whence;
|
||||||
int seek_completed;
|
int seek_completed;
|
||||||
int64_t seek_ret;
|
int64_t seek_ret;
|
||||||
@ -58,8 +58,8 @@ typedef struct Context {
|
|||||||
int io_error;
|
int io_error;
|
||||||
int io_eof_reached;
|
int io_eof_reached;
|
||||||
|
|
||||||
size_t logical_pos;
|
int64_t logical_pos;
|
||||||
size_t logical_size;
|
int64_t logical_size;
|
||||||
AVFifoBuffer *fifo;
|
AVFifoBuffer *fifo;
|
||||||
|
|
||||||
pthread_cond_t cond_wakeup_main;
|
pthread_cond_t cond_wakeup_main;
|
||||||
@ -91,6 +91,7 @@ static void *async_buffer_task(void *arg)
|
|||||||
Context *c = h->priv_data;
|
Context *c = h->priv_data;
|
||||||
AVFifoBuffer *fifo = c->fifo;
|
AVFifoBuffer *fifo = c->fifo;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
int64_t seek_ret;
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
int fifo_space, to_copy;
|
int fifo_space, to_copy;
|
||||||
@ -105,17 +106,17 @@ static void *async_buffer_task(void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (c->seek_request) {
|
if (c->seek_request) {
|
||||||
ret = ffurl_seek(c->inner, c->seek_pos, c->seek_whence);
|
seek_ret = ffurl_seek(c->inner, c->seek_pos, c->seek_whence);
|
||||||
if (ret < 0) {
|
if (seek_ret < 0) {
|
||||||
c->io_eof_reached = 1;
|
c->io_eof_reached = 1;
|
||||||
c->io_error = ret;
|
c->io_error = (int)seek_ret;
|
||||||
} else {
|
} else {
|
||||||
c->io_eof_reached = 0;
|
c->io_eof_reached = 0;
|
||||||
c->io_error = 0;
|
c->io_error = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
c->seek_completed = 1;
|
c->seek_completed = 1;
|
||||||
c->seek_ret = ret;
|
c->seek_ret = seek_ret;
|
||||||
c->seek_request = 0;
|
c->seek_request = 0;
|
||||||
|
|
||||||
av_fifo_reset(fifo);
|
av_fifo_reset(fifo);
|
||||||
@ -325,7 +326,7 @@ static int64_t async_seek(URLContext *h, int64_t pos, int whence)
|
|||||||
av_log(h, AV_LOG_TRACE, "async_seek: fask_seek %"PRId64" from %d dist:%d/%d\n",
|
av_log(h, AV_LOG_TRACE, "async_seek: fask_seek %"PRId64" from %d dist:%d/%d\n",
|
||||||
new_logical_pos, (int)c->logical_pos,
|
new_logical_pos, (int)c->logical_pos,
|
||||||
(int)(new_logical_pos - c->logical_pos), fifo_size);
|
(int)(new_logical_pos - c->logical_pos), fifo_size);
|
||||||
async_read_internal(h, NULL, new_logical_pos - c->logical_pos, 1, fifo_do_not_copy_func);
|
async_read_internal(h, NULL, (int)(new_logical_pos - c->logical_pos), 1, fifo_do_not_copy_func);
|
||||||
return c->logical_pos;
|
return c->logical_pos;
|
||||||
} else if (c->logical_size <= 0) {
|
} else if (c->logical_size <= 0) {
|
||||||
/* can not seek */
|
/* can not seek */
|
||||||
@ -394,8 +395,8 @@ URLProtocol ff_async_protocol = {
|
|||||||
|
|
||||||
typedef struct TestContext {
|
typedef struct TestContext {
|
||||||
AVClass *class;
|
AVClass *class;
|
||||||
size_t logical_pos;
|
int64_t logical_pos;
|
||||||
size_t logical_size;
|
int64_t logical_size;
|
||||||
} TestContext;
|
} TestContext;
|
||||||
|
|
||||||
static int async_test_open(URLContext *h, const char *arg, int flags, AVDictionary **options)
|
static int async_test_open(URLContext *h, const char *arg, int flags, AVDictionary **options)
|
||||||
|
Loading…
Reference in New Issue
Block a user