[Ffmpeg-cvslog] r8448 - in trunk: libavformat/http.c libavutil/Makefile libavutil/avutil.h libavutil/base64.c libavutil/base64.h

lu_zero subversion
Mon Mar 19 01:48:47 CET 2007


Author: lu_zero
Date: Mon Mar 19 01:48:47 2007
New Revision: 8448

Modified:
   trunk/libavformat/http.c
   trunk/libavutil/Makefile
   trunk/libavutil/avutil.h
   trunk/libavutil/base64.c
   trunk/libavutil/base64.h

Log:
expose av_base64_decode and av_base64_encode

Modified: trunk/libavformat/http.c
==============================================================================
--- trunk/libavformat/http.c	(original)
+++ trunk/libavformat/http.c	Mon Mar 19 01:48:47 2007
@@ -210,13 +210,14 @@ static int http_connect(URLContext *h, c
     int post, err, ch;
     char line[1024], *q;
     char *auth_b64;
+    int auth_b64_len = strlen(auth)* 4 / 3 + 12;
     offset_t off = s->off;
 
 
     /* send http header */
     post = h->flags & URL_WRONLY;
-
-    auth_b64 = av_base64_encode((uint8_t *)auth, strlen(auth));
+    auth_b64 = av_malloc(auth_b64_len);
+    av_base64_encode(auth_b64, auth_b64_len, (uint8_t *)auth, strlen(auth));
     snprintf(s->buffer, sizeof(s->buffer),
              "%s %s HTTP/1.1\r\n"
              "User-Agent: %s\r\n"

Modified: trunk/libavutil/Makefile
==============================================================================
--- trunk/libavutil/Makefile	(original)
+++ trunk/libavutil/Makefile	Mon Mar 19 01:48:47 2007
@@ -18,7 +18,7 @@ OBJS= mathematics.o \
 
 HEADERS = avutil.h common.h mathematics.h integer.h rational.h \
           intfloat_readwrite.h md5.h adler32.h log.h fifo.h lzo.h \
-          random.h mem.h
+          random.h mem.h base64.h
 
 NAME=avutil
 LIBVERSION=$(LAVUVERSION)

Modified: trunk/libavutil/avutil.h
==============================================================================
--- trunk/libavutil/avutil.h	(original)
+++ trunk/libavutil/avutil.h	Mon Mar 19 01:48:47 2007
@@ -34,8 +34,8 @@ extern "C" {
 #define AV_STRINGIFY(s)         AV_TOSTRING(s)
 #define AV_TOSTRING(s) #s
 
-#define LIBAVUTIL_VERSION_INT   ((49<<16)+(3<<8)+0)
-#define LIBAVUTIL_VERSION       49.3.0
+#define LIBAVUTIL_VERSION_INT   ((49<<16)+(4<<8)+0)
+#define LIBAVUTIL_VERSION       49.4.0
 #define LIBAVUTIL_BUILD         LIBAVUTIL_VERSION_INT
 
 #define LIBAVUTIL_IDENT         "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)

Modified: trunk/libavutil/base64.c
==============================================================================
--- trunk/libavutil/base64.c	(original)
+++ trunk/libavutil/base64.c	Mon Mar 19 01:48:47 2007
@@ -70,7 +70,7 @@ int av_base64_decode(uint8_t * out, cons
 * fixed edge cases and made it work from data (vs. strings) by ryan.
 *****************************************************************************/
 
-char *av_base64_encode(uint8_t * src, int len)
+char *av_base64_encode(char * buf, int buf_len, uint8_t * src, int len)
 {
     static const char b64[] =
         "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
@@ -79,11 +79,10 @@ char *av_base64_encode(uint8_t * src, in
     int i_shift = 0;
     int bytes_remaining = len;
 
-    if (len < UINT_MAX / 4) {
-        ret = dst = av_malloc(len * 4 / 3 + 12);
-    } else
+    if (len >= UINT_MAX / 4 ||
+        buf_len < len * 4 / 3 + 12)
         return NULL;
-
+    ret = dst = buf;
     if (len) {                  // special edge case, what should we really do here?
         while (bytes_remaining) {
             i_bits = (i_bits << 8) + *src++;

Modified: trunk/libavutil/base64.h
==============================================================================
--- trunk/libavutil/base64.h	(original)
+++ trunk/libavutil/base64.h	Mon Mar 19 01:48:47 2007
@@ -28,6 +28,7 @@ int av_base64_decode(uint8_t * out, cons
 /**
  * encodes base64
  * @param src data, not a string
+ * @param buf output string
  */
-char *av_base64_encode(uint8_t * src, int len);
+char *av_base64_encode(char * buf, int buf_len, uint8_t * src, int len);
 




More information about the ffmpeg-cvslog mailing list