summaryrefslogtreecommitdiff
path: root/src/input/input_http.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/input/input_http.c')
-rw-r--r--src/input/input_http.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/input/input_http.c b/src/input/input_http.c
index 6e8932700..12b7f3f35 100644
--- a/src/input/input_http.c
+++ b/src/input/input_http.c
@@ -93,16 +93,18 @@ typedef struct {
char preview[MAX_PREVIEW_SIZE];
off_t preview_size;
-
+
+ /* 2 spare bytes here */
+
+ /* NSV */
+ unsigned char is_nsv; /* bool */
+
/* ShoutCast */
- int shoutcast_mode;
+ unsigned char shoutcast_mode; /* bool */
int shoutcast_metaint;
off_t shoutcast_pos;
char *shoutcast_songtitle;
- /* NSV */
- int is_nsv;
-
/* scratch buffer for forward seeking */
char seek_buf[BUFSIZE];
@@ -829,7 +831,13 @@ static int http_plugin_open (input_plugin_t *this_gen ) {
_("input_http: http status not 2xx: >%d %s<\n"),
httpcode, httpstatus);
return -7;
- } else if (httpcode == 403 || httpcode == 401) {
+ } else if (httpcode == 401) {
+ _x_message(this->stream, XINE_MSG_AUTHENTICATION_NEEDED, this->mrl, NULL);
+ xine_log (this->stream->xine, XINE_LOG_MSG,
+ _("input_http: http status not 2xx: >%d %s<\n"),
+ httpcode, httpstatus);
+ return -8;
+ } else if (httpcode == 403) {
_x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, NULL);
xine_log (this->stream->xine, XINE_LOG_MSG,
_("input_http: http status not 2xx: >%d %s<\n"),