Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(982)

Unified Diff: patched-ffmpeg-mt/libavformat/rtpproto.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: patched-ffmpeg-mt/libavformat/rtpproto.c
===================================================================
--- patched-ffmpeg-mt/libavformat/rtpproto.c (revision 41250)
+++ patched-ffmpeg-mt/libavformat/rtpproto.c (working copy)
@@ -26,6 +26,7 @@
#include "libavutil/avstring.h"
#include "avformat.h"
+#include "rtpdec.h"
#include <unistd.h>
#include <stdarg.h>
@@ -63,13 +64,13 @@
char buf[1024];
char path[1024];
- url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
- path, sizeof(path), uri);
+ ff_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
+ path, sizeof(path), uri);
- snprintf(buf, sizeof(buf), "udp://%s:%d%s", hostname, port, path);
+ ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port, "%s", path);
udp_set_remote_url(s->rtp_hd, buf);
- snprintf(buf, sizeof(buf), "udp://%s:%d%s", hostname, port + 1, path);
+ ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port + 1, "%s", path);
udp_set_remote_url(s->rtcp_hd, buf);
return 0;
}
@@ -100,7 +101,7 @@
int local_port, int ttl,
int max_packet_size)
{
- snprintf(buf, buf_size, "udp://%s:%d", hostname, port);
+ ff_url_join(buf, buf_size, "udp", NULL, hostname, port, NULL);
if (local_port >= 0)
url_add_option(buf, buf_size, "localport=%d", local_port);
if (ttl >= 0)
@@ -133,8 +134,8 @@
return AVERROR(ENOMEM);
h->priv_data = s;
- url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
- path, sizeof(path), uri);
+ ff_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
+ path, sizeof(path), uri);
/* extract parameters */
ttl = -1;
local_port = -1;
@@ -192,6 +193,7 @@
socklen_t from_len;
int len, fd_max, n;
fd_set rfds;
+ struct timeval tv;
#if 0
for(;;) {
from_len = sizeof(from);
@@ -207,6 +209,8 @@
}
#else
for(;;) {
+ if (url_interrupt_cb())
+ return AVERROR(EINTR);
/* build fdset to listen to RTP and RTCP packets */
FD_ZERO(&rfds);
fd_max = s->rtp_fd;
@@ -214,7 +218,9 @@
if (s->rtcp_fd > fd_max)
fd_max = s->rtcp_fd;
FD_SET(s->rtcp_fd, &rfds);
- n = select(fd_max + 1, &rfds, NULL, NULL, NULL);
+ tv.tv_sec = 0;
+ tv.tv_usec = 100 * 1000;
+ n = select(fd_max + 1, &rfds, NULL, NULL, &tv);
if (n > 0) {
/* first try RTCP */
if (FD_ISSET(s->rtcp_fd, &rfds)) {
@@ -242,6 +248,8 @@
}
break;
}
+ } else if (n < 0) {
+ return AVERROR(EIO);
}
}
#endif

Powered by Google App Engine
This is Rietveld 408576698