Merged in masayuki2009/nuttx.apps/refactor_nxplayer (pull request #149)
nxplayer: Refactor nxplayer.c Apply netlib_parsehttpurl() and remove unnecessary usleep(). Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com> Approved-by: GregoryN <gnutt@nuttx.org>
This commit is contained in:
parent
822291b6e1
commit
d9cb9175ac
@ -67,7 +67,7 @@
|
|||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
#include <netutils/netlib.h>
|
||||||
#include <nuttx/audio/audio.h>
|
#include <nuttx/audio/audio.h>
|
||||||
#include "system/nxplayer.h"
|
#include "system/nxplayer.h"
|
||||||
|
|
||||||
@ -168,13 +168,12 @@ static const int g_known_ext_count = sizeof(g_known_ext) /
|
|||||||
|
|
||||||
static int _open_with_http(const char *fullurl)
|
static int _open_with_http(const char *fullurl)
|
||||||
{
|
{
|
||||||
char relativeurl[32];
|
char relurl[32];
|
||||||
char hostname[32];
|
char hostname[32];
|
||||||
int resp_chk = 0;
|
int resp_chk = 0;
|
||||||
char resp_msg[] = "\r\n\r\n";
|
char resp_msg[] = "\r\n\r\n";
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
int a[4];
|
uint16_t port = 80;
|
||||||
int port;
|
|
||||||
char buf[64];
|
char buf[64];
|
||||||
int s;
|
int s;
|
||||||
int n;
|
int n;
|
||||||
@ -188,26 +187,18 @@ static int _open_with_http(const char *fullurl)
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(relativeurl, 0, sizeof(relativeurl));
|
memset(relurl, 0, sizeof(relurl));
|
||||||
|
|
||||||
#ifdef CONFIG_NET_IPv4
|
n = netlib_parsehttpurl(fullurl, &port,
|
||||||
n = sscanf(fullurl, "http://%d.%d.%d.%d:%d/%s",
|
hostname, sizeof(hostname) - 1,
|
||||||
&a[0], &a[1], &a[2], &a[3], &port, relativeurl);
|
relurl, sizeof(relurl) - 1);
|
||||||
|
|
||||||
if (6 != n)
|
if (OK != n)
|
||||||
{
|
{
|
||||||
n = sscanf(fullurl, "http://%d.%d.%d.%d/%s",
|
printf("netlib_parsehttpurl() returned %d \n", n);
|
||||||
&a[0], &a[1], &a[2], &a[3], relativeurl);
|
return n;
|
||||||
ASSERT(n == 5);
|
|
||||||
port = 80;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(hostname, sizeof(hostname),
|
|
||||||
"%d.%d.%d.%d", a[0], a[1], a[2], a[3]);
|
|
||||||
#else
|
|
||||||
#error "Only IPv4 is supported. "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
s = socket(AF_INET, SOCK_STREAM, 0);
|
s = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
ASSERT(s != -1);
|
ASSERT(s != -1);
|
||||||
|
|
||||||
@ -241,7 +232,7 @@ static int _open_with_http(const char *fullurl)
|
|||||||
|
|
||||||
/* Send GET request */
|
/* Send GET request */
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "GET /%s HTTP/1.0\r\n\r\n", relativeurl);
|
snprintf(buf, sizeof(buf), "GET /%s HTTP/1.0\r\n\r\n", relurl);
|
||||||
n = write(s, buf, strlen(buf));
|
n = write(s, buf, strlen(buf));
|
||||||
|
|
||||||
usleep(100 * 1000); /* TODO */
|
usleep(100 * 1000); /* TODO */
|
||||||
@ -669,7 +660,6 @@ static int nxplayer_readbuffer(FAR struct nxplayer_s *pPlayer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
apb->nbytes += ret;
|
apb->nbytes += ret;
|
||||||
usleep(10 * 1000);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user