Mercurial > libavformat.hg
changeset 1432:4f4bebc36aad libavformat
switch to common base64 routines in lavf
Patch by Ryan Martell % rdm4 A martellventures P com %
Original thread:
Date: Oct 29, 2006 2:45 AM
Subject: Re: [Ffmpeg-devel] [PATCH] Base64 code
author | gpoirier |
---|---|
date | Sun, 29 Oct 2006 11:53:07 +0000 |
parents | 2d8a17631520 |
children | dababce8f69e |
files | http.c |
diffstat | 1 files changed, 2 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/http.c Sun Oct 29 10:58:51 2006 +0000 +++ b/http.c Sun Oct 29 11:53:07 2006 +0000 @@ -30,6 +30,7 @@ #endif #include <netdb.h> +#include "base64.h" /* XXX: POST protocol is not completly implemented because ffmpeg use only a subset of it */ @@ -51,7 +52,6 @@ static int http_connect(URLContext *h, const char *path, const char *hoststr, const char *auth); static int http_write(URLContext *h, uint8_t *buf, int size); -static char *b64_encode(const unsigned char *src ); /* return non zero if error */ @@ -189,7 +189,7 @@ /* send http header */ post = h->flags & URL_WRONLY; - auth_b64 = b64_encode(auth); + auth_b64 = av_base64_encode((uint8_t *)auth, strlen(auth)); snprintf(s->buffer, sizeof(s->buffer), "%s %s HTTP/1.0\r\n" "User-Agent: %s\r\n" @@ -287,37 +287,3 @@ NULL, /* seek */ http_close, }; - -/***************************************************************************** - * b64_encode: stolen from VLC's http.c - * simplified by michael - *****************************************************************************/ - -static char *b64_encode( const unsigned char *src ) -{ - static const char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - unsigned int len= strlen(src); - char *ret, *dst; - unsigned i_bits = 0; - unsigned i_shift = 0; - - if(len < UINT_MAX/4){ - ret=dst= av_malloc( len * 4 / 3 + 12 ); - }else - return NULL; - - while(*src){ - i_bits = (i_bits << 8) + *src++; - i_shift += 8; - - do{ - *dst++ = b64[(i_bits << 6 >> i_shift) & 0x3f]; - i_shift -= 6; - }while( i_shift > 6 || (*src == 0 && i_shift>0)); - } - *dst++ = '='; - *dst = '\0'; - - return ret; -} -