Browse Source

Merge commit '6516632967da5e6bd7d6136e8678f826669ed26e'

* commit '6516632967da5e6bd7d6136e8678f826669ed26e':
  tests: Only run noproxy test if networking is enabled
  fifo: K&R formatting cosmetics

Conflicts:
	libavformat/Makefile
	libavutil/fifo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
Michael Niedermayer 12 years ago
parent
commit
7bd417c22a
3 changed files with 26 additions and 22 deletions
  1. +3
    -2
      libavformat/Makefile
  2. +19
    -16
      libavutil/fifo.c
  3. +4
    -4
      tests/fate/libavformat.mak

+ 3
- 2
libavformat/Makefile View File

@@ -454,11 +454,12 @@ OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o


SKIPHEADERS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh.h SKIPHEADERS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh.h
SKIPHEADERS-$(CONFIG_NETWORK) += network.h rtsp.h SKIPHEADERS-$(CONFIG_NETWORK) += network.h rtsp.h
TESTPROGS = noproxy \
seek \
TESTPROGS = seek \
srtp \ srtp \
url \ url \


TESTPROGS-$(CONFIG_NETWORK) += noproxy

TOOLS = aviocat \ TOOLS = aviocat \
ismindex \ ismindex \
pktdumper \ pktdumper \


+ 19
- 16
libavutil/fifo.c View File

@@ -24,11 +24,11 @@


AVFifoBuffer *av_fifo_alloc(unsigned int size) AVFifoBuffer *av_fifo_alloc(unsigned int size)
{ {
AVFifoBuffer *f= av_mallocz(sizeof(AVFifoBuffer));
AVFifoBuffer *f = av_mallocz(sizeof(AVFifoBuffer));
if (!f) if (!f)
return NULL; return NULL;
f->buffer = av_malloc(size); f->buffer = av_malloc(size);
f->end = f->buffer + size;
f->end = f->buffer + size;
av_fifo_reset(f); av_fifo_reset(f);
if (!f->buffer) if (!f->buffer)
av_freep(&f); av_freep(&f);
@@ -64,7 +64,7 @@ int av_fifo_realloc2(AVFifoBuffer *f, unsigned int new_size)
unsigned int old_size = f->end - f->buffer; unsigned int old_size = f->end - f->buffer;


if (old_size < new_size) { if (old_size < new_size) {
int len = av_fifo_size(f);
int len = av_fifo_size(f);
AVFifoBuffer *f2 = av_fifo_alloc(new_size); AVFifoBuffer *f2 = av_fifo_alloc(new_size);


if (!f2) if (!f2)
@@ -92,8 +92,10 @@ int av_fifo_grow(AVFifoBuffer *f, unsigned int size)
return 0; return 0;
} }


// src must NOT be const as it can be a context for func that may need updating (like a pointer or byte counter)
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int))
/* src must NOT be const as it can be a context for func that may need
* updating (like a pointer or byte counter) */
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size,
int (*func)(void *, void *, int))
{ {
int total = size; int total = size;
uint32_t wndx= f->wndx; uint32_t wndx= f->wndx;
@@ -106,30 +108,31 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
break; break;
} else { } else {
memcpy(wptr, src, len); memcpy(wptr, src, len);
src = (uint8_t*)src + len;
src = (uint8_t *)src + len;
} }
// Write memory barrier needed for SMP here in theory // Write memory barrier needed for SMP here in theory
wptr += len; wptr += len;
if (wptr >= f->end) if (wptr >= f->end)
wptr = f->buffer; wptr = f->buffer;
wndx += len;
size -= len;
wndx += len;
size -= len;
} while (size > 0); } while (size > 0);
f->wndx= wndx; f->wndx= wndx;
f->wptr= wptr; f->wptr= wptr;
return total - size; return total - size;
} }


int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int))
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size,
void (*func)(void *, void *, int))
{ {
// Read memory barrier needed for SMP here in theory // Read memory barrier needed for SMP here in theory
do { do {
int len = FFMIN(f->end - f->rptr, buf_size); int len = FFMIN(f->end - f->rptr, buf_size);
if(func) func(dest, f->rptr, len);
else{
if (func)
func(dest, f->rptr, len);
else {
memcpy(dest, f->rptr, len); memcpy(dest, f->rptr, len);
dest = (uint8_t*)dest + len;
dest = (uint8_t *)dest + len;
} }
// memory barrier needed for SMP here in theory // memory barrier needed for SMP here in theory
av_fifo_drain(f, len); av_fifo_drain(f, len);
@@ -160,9 +163,9 @@ int main(void)
av_fifo_generic_write(fifo, &i, sizeof(int), NULL); av_fifo_generic_write(fifo, &i, sizeof(int), NULL);


/* peek at FIFO */ /* peek at FIFO */
n = av_fifo_size(fifo)/sizeof(int);
for (i = -n+1; i < n; i++) {
int *v = (int *)av_fifo_peek2(fifo, i*sizeof(int));
n = av_fifo_size(fifo) / sizeof(int);
for (i = -n + 1; i < n; i++) {
int *v = (int *)av_fifo_peek2(fifo, i * sizeof(int));
printf("%d: %d\n", i, *v); printf("%d: %d\n", i, *v);
} }
printf("\n"); printf("\n");


+ 4
- 4
tests/fate/libavformat.mak View File

@@ -1,14 +1,14 @@
FATE_LIBAVFORMAT += fate-noproxy
FATE_LIBAVFORMAT-$(CONFIG_NETWORK) += fate-noproxy
fate-noproxy: libavformat/noproxy-test$(EXESUF) fate-noproxy: libavformat/noproxy-test$(EXESUF)
fate-noproxy: CMD = run libavformat/noproxy-test fate-noproxy: CMD = run libavformat/noproxy-test


FATE_LIBAVFORMAT += fate-srtp
FATE_LIBAVFORMAT-yes += fate-srtp
fate-srtp: libavformat/srtp-test$(EXESUF) fate-srtp: libavformat/srtp-test$(EXESUF)
fate-srtp: CMD = run libavformat/srtp-test fate-srtp: CMD = run libavformat/srtp-test


FATE_LIBAVFORMAT += fate-url
FATE_LIBAVFORMAT-yes += fate-url
fate-url: libavformat/url-test$(EXESUF) fate-url: libavformat/url-test$(EXESUF)
fate-url: CMD = run libavformat/url-test fate-url: CMD = run libavformat/url-test


FATE-$(CONFIG_AVFORMAT) += $(FATE_LIBAVFORMAT)
FATE-$(CONFIG_AVFORMAT) += $(FATE_LIBAVFORMAT-yes)
fate-libavformat: $(FATE_LIBAVFORMAT) fate-libavformat: $(FATE_LIBAVFORMAT)

Loading…
Cancel
Save