]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/aviobuf.c
armv4l/float_arm_vfp.o must be added to OBJS-$(HAVE_ARMVFP) list since
[ffmpeg] / libavformat / aviobuf.c
index 025e0b69803ca944ca44846335037b09911d920a..6206c66909c3ce2519a89a80d6e7a79b1e7d28d7 100644 (file)
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "libavutil/crc.h"
 #include "avformat.h"
 #include "avio.h"
-#include "crc.h"
 #include <stdarg.h>
 
 #define IO_BUFFER_SIZE 32768
@@ -60,6 +61,20 @@ int init_put_byte(ByteIOContext *s,
     return 0;
 }
 
+ByteIOContext *av_alloc_put_byte(
+                  unsigned char *buffer,
+                  int buffer_size,
+                  int write_flag,
+                  void *opaque,
+                  int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
+                  int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
+                  offset_t (*seek)(void *opaque, offset_t offset, int whence)) {
+    ByteIOContext *s = av_mallocz(sizeof(ByteIOContext));
+    init_put_byte(s, buffer, buffer_size, write_flag, opaque,
+                  read_packet, write_packet, seek);
+    return s;
+}
+
 static void flush_buffer(ByteIOContext *s)
 {
     if (s->buf_ptr > s->buffer) {
@@ -304,7 +319,7 @@ static void fill_buffer(ByteIOContext *s)
 }
 
 unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, unsigned int len){
-    return av_crc(av_crc04C11DB7, checksum, buf, len);
+    return av_crc(av_crc_get_table(AV_CRC_32_IEEE), checksum, buf, len);
 }
 
 unsigned long get_checksum(ByteIOContext *s){
@@ -532,7 +547,7 @@ int url_fdopen(ByteIOContext **s, URLContext *h)
     (*s)->max_packet_size = max_packet_size;
     if(h->prot) {
         (*s)->read_pause = (int (*)(void *, int))h->prot->url_read_pause;
-        (*s)->read_seek  = (int (*)(void *, int, int64_t, int))h->prot->url_read_seek;
+        (*s)->read_seek  = (offset_t (*)(void *, int, int64_t, int))h->prot->url_read_seek;
     }
     return 0;
 }
@@ -646,11 +661,11 @@ int av_url_read_fpause(ByteIOContext *s, int pause)
     return s->read_pause(s->opaque, pause);
 }
 
-int av_url_read_fseek(ByteIOContext *s,
+offset_t av_url_read_fseek(ByteIOContext *s,
         int stream_index, int64_t timestamp, int flags)
 {
     URLContext *h = s->opaque;
-    int ret;
+    offset_t ret;
     if (!s->read_seek)
         return AVERROR(ENOSYS);
     ret = s->read_seek(h, stream_index, timestamp, flags);