Mercurial > libavformat.hg
changeset 4458:f734aba9452e libavformat
Change ffm_write_write_index to return int, and return if error occured.
Patch by Patrik Kullman, patrik at yes dot nu
author | bcoudurier |
---|---|
date | Thu, 12 Feb 2009 02:15:07 +0000 |
parents | 6ed62b8257dd |
children | 241532434509 |
files | avformat.h ffmdec.c |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/avformat.h Thu Feb 12 00:08:44 2009 +0000 +++ b/avformat.h Thu Feb 12 02:15:07 2009 +0000 @@ -1180,7 +1180,7 @@ /* ffm-specific for ffserver */ #define FFM_PACKET_SIZE 4096 int64_t ffm_read_write_index(int fd); -void ffm_write_write_index(int fd, int64_t pos); +int ffm_write_write_index(int fd, int64_t pos); void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size); /**
--- a/ffmdec.c Thu Feb 12 00:08:44 2009 +0000 +++ b/ffmdec.c Thu Feb 12 02:15:07 2009 +0000 @@ -34,7 +34,7 @@ return AV_RB64(buf); } -void ffm_write_write_index(int fd, int64_t pos) +int ffm_write_write_index(int fd, int64_t pos) { uint8_t buf[8]; int i; @@ -42,7 +42,9 @@ for(i=0;i<8;i++) buf[i] = (pos >> (56 - i * 8)) & 0xff; lseek(fd, 8, SEEK_SET); - write(fd, buf, 8); + if (write(fd, buf, 8) != 8) + return AVERROR(EIO); + return 8; } void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size)