udp: support old, crappy non pthread mode

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-06-04 16:55:22 +02:00
parent 87f40364d1
commit 124a9edb5f
2 changed files with 9 additions and 1 deletions

2
configure vendored
View File

@ -1493,7 +1493,7 @@ mmst_protocol_deps="network"
rtmp_protocol_select="tcp_protocol"
rtp_protocol_select="udp_protocol"
tcp_protocol_deps="network"
udp_protocol_deps="network pthreads"
udp_protocol_deps="network"
# filters
blackframe_filter_deps="gpl"

View File

@ -35,7 +35,11 @@
#include "network.h"
#include "os_support.h"
#include "url.h"
#if HAVE_PTHREADS
#include <pthread.h>
#endif
#include <sys/time.h>
#ifndef IPV6_ADD_MEMBERSHIP
@ -58,7 +62,9 @@ typedef struct {
int circular_buffer_size;
AVFifoBuffer *fifo;
int circular_buffer_error;
#if HAVE_PTHREADS
pthread_t circular_buffer_thread;
#endif
} UDPContext;
#define UDP_TX_BUF_SIZE 32768
@ -505,6 +511,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
s->udp_fd = udp_fd;
#if HAVE_PTHREADS
if (!is_output && s->circular_buffer_size) {
/* start the task going */
s->fifo = av_fifo_alloc(s->circular_buffer_size);
@ -513,6 +520,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
goto fail;
}
}
#endif
return 0;
fail: