diff options
Diffstat (limited to 'libmpdemux/asf_streaming.c')
-rw-r--r-- | libmpdemux/asf_streaming.c | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/libmpdemux/asf_streaming.c b/libmpdemux/asf_streaming.c index 036eb07f9b..01af4ccac7 100644 --- a/libmpdemux/asf_streaming.c +++ b/libmpdemux/asf_streaming.c @@ -6,6 +6,8 @@ #include <limits.h> #include "config.h" +#include "mp_msg.h" +#include "help_mp.h" #ifndef HAVE_WINSOCK2 #define closesocket close @@ -96,11 +98,11 @@ printf("0x%02X\n", stream_chunck->type ); if( drop_packet!=NULL ) *drop_packet = 0; if( stream_chunck->size<8 ) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Ahhhh, stream_chunck size is too small: %d\n", stream_chunck->size); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_StreamChunkSize2Small, stream_chunck->size); return -1; } if( stream_chunck->size!=stream_chunck->size_confirm ) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"size_confirm mismatch!: %d %d\n", stream_chunck->size, stream_chunck->size_confirm); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_SizeConfirmMismatch, stream_chunck->size, stream_chunck->size_confirm); return -1; } /* @@ -183,19 +185,19 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) // Endian handling of the stream chunk le2me_ASF_stream_chunck_t(&chunk); size = asf_streaming( &chunk, &r) - sizeof(ASF_stream_chunck_t); - if(r) mp_msg(MSGT_NETWORK,MSGL_WARN,"Warning : drop header ????\n"); + if(r) mp_msg(MSGT_NETWORK,MSGL_WARN,MSGTR_MPDEMUX_ASF_WarnDropHeader); if(size < 0){ - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error while parsing chunk header\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrorParsingChunkHeader); return -1; } if (chunk.type != ASF_STREAMING_HEADER) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Don't got a header as first chunk !!!!\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_NoHeaderAtFirstChunk); return -1; } buffer = (char*) malloc(size+buffer_size); if(buffer == NULL) { - mp_msg(MSGT_NETWORK,MSGL_FATAL,"Error can't allocate %d bytes buffer\n",size+buffer_size); + mp_msg(MSGT_NETWORK,MSGL_FATAL,MSGTR_MPDEMUX_ASF_BufferMallocFailed,size+buffer_size); return -1; } if( chunk_buffer!=NULL ) { @@ -209,7 +211,7 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) for(r = 0; r < size;) { i = nop_streaming_read(fd,buffer+r,size-r,streaming_ctrl); if(i < 0) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error while reading network stream\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrReadingNetworkStream); return -1; } r += i; @@ -217,7 +219,7 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) if( chunk_size2read==0 ) { if(size < (int)sizeof(asfh)) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error chunk is too small\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrChunk2Small); return -1; } else mp_msg(MSGT_NETWORK,MSGL_DBG2,"Got chunk\n"); memcpy(&asfh,buffer,sizeof(asfh)); @@ -230,7 +232,7 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) size = buffer_size; if(asfh.cno > 256) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error sub chunks number is invalid\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrSubChunkNumberInvalid); return -1; } @@ -368,8 +370,7 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) free(a_rates); if (a_idx < 0 && v_idx < 0) { - mp_msg(MSGT_NETWORK, MSGL_FATAL, "bandwidth too small, " - "file cannot be played!\n"); + mp_msg(MSGT_NETWORK, MSGL_FATAL, MSGTR_MPDEMUX_ASF_Bandwidth2SmallCannotPlay); return -1; } @@ -379,8 +380,7 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) else if (a_idx >= 0) asf_ctrl->audio_id = asf_ctrl->audio_streams[a_idx]; else if (asf_ctrl->n_audio) { - mp_msg(MSGT_NETWORK, MSGL_WARN, "bandwidth too small, " - "deselected audio stream\n"); + mp_msg(MSGT_NETWORK, MSGL_WARN, MSGTR_MPDEMUX_ASF_Bandwidth2SmallDeselectedAudio); audio_id = -2; } @@ -390,15 +390,14 @@ static int asf_streaming_parse_header(int fd, streaming_ctrl_t* streaming_ctrl) else if (v_idx >= 0) asf_ctrl->video_id = asf_ctrl->video_streams[v_idx]; else if (asf_ctrl->n_video) { - mp_msg(MSGT_NETWORK, MSGL_WARN, "bandwidth too small, " - "deselected video stream\n"); + mp_msg(MSGT_NETWORK, MSGL_WARN, MSGTR_MPDEMUX_ASF_Bandwidth2SmallDeselectedVideo); video_id = -2; } return 1; len_err_out: - mp_msg(MSGT_NETWORK, MSGL_FATAL, "Invalid length in ASF header!\n"); + mp_msg(MSGT_NETWORK, MSGL_FATAL, MSGTR_MPDEMUX_ASF_InvalidLenInHeader); if (buffer) free(buffer); if (v_rates) free(v_rates); if (a_rates) free(a_rates); @@ -420,7 +419,7 @@ static int asf_http_streaming_read( int fd, char *buffer, int size, streaming_ct streaming_ctrl ); if(r <= 0){ if( r < 0) - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error while reading chunk header\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrReadingChunkHeader); return -1; } read += r; @@ -430,14 +429,14 @@ static int asf_http_streaming_read( int fd, char *buffer, int size, streaming_ct le2me_ASF_stream_chunck_t(&chunk); chunk_size = asf_streaming( &chunk, &drop_chunk ); if(chunk_size < 0) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error while parsing chunk header\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrorParsingChunkHeader); return -1; } chunk_size -= sizeof(ASF_stream_chunck_t); if(chunk.type != ASF_STREAMING_HEADER && (!drop_chunk)) { if (asf_http_ctrl->packet_size < chunk_size) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error chunk_size > packet_size\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrChunkBiggerThanPacket); return -1; } waiting = asf_http_ctrl->packet_size; @@ -460,7 +459,7 @@ static int asf_http_streaming_read( int fd, char *buffer, int size, streaming_ct int got = nop_streaming_read( fd,buffer+read,chunk_size-read,streaming_ctrl ); if(got <= 0) { if(got < 0) - mp_msg(MSGT_NETWORK,MSGL_ERR,"Error while reading chunk\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ErrReadingChunk); return -1; } read += got; @@ -536,7 +535,7 @@ static int asf_http_streaming_type(char *content_type, char *features, HTTP_head (!strcasecmp(content_type, "video/x-ms-wvx")) || (!strcasecmp(content_type, "video/x-ms-wmv")) || (!strcasecmp(content_type, "video/x-ms-wma")) ) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"=====> ASF Redirector\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ASFRedirector); return ASF_Redirector_e; } else if( !strcasecmp(content_type, "text/plain") ) { mp_msg(MSGT_NETWORK,MSGL_V,"=====> ASF Plain text\n"); @@ -578,7 +577,7 @@ static HTTP_header_t *asf_http_request(streaming_ctrl_t *streaming_ctrl) { if( !strcasecmp( url->protocol, "http_proxy" ) ) { server_url = url_new( (url->file)+1 ); if( server_url==NULL ) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Invalid proxy URL\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_InvalidProxyURL); http_free( http_hdr ); return NULL; } @@ -639,7 +638,7 @@ static HTTP_header_t *asf_http_request(streaming_ctrl_t *streaming_ctrl) { // First request goes here. break; default: - mp_msg(MSGT_NETWORK,MSGL_ERR,"Unknown asf stream type\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_UnknownASFStreamType); } http_set_field( http_hdr, "Connection: Close" ); @@ -653,7 +652,7 @@ static int asf_http_parse_response(asf_http_streaming_ctrl_t *asf_http_ctrl, HTT char features[64] = "\0"; size_t len; if( http_response_parse(http_hdr)<0 ) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Failed to parse HTTP response\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_Failed2ParseHTTPResponse); return -1; } switch( http_hdr->status_code ) { @@ -662,7 +661,7 @@ static int asf_http_parse_response(asf_http_streaming_ctrl_t *asf_http_ctrl, HTT case 401: // Authentication required return ASF_Authenticate_e; default: - mp_msg(MSGT_NETWORK,MSGL_ERR,"Server return %d:%s\n", http_hdr->status_code, http_hdr->reason_phrase); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_ServerReturn, http_hdr->status_code, http_hdr->reason_phrase); return -1; } @@ -683,7 +682,7 @@ static int asf_http_parse_response(asf_http_streaming_ctrl_t *asf_http_ctrl, HTT if( end==NULL ) { size_t s = strlen(pragma); if(s > sizeof(features)) { - mp_msg(MSGT_NETWORK,MSGL_WARN,"ASF HTTP PARSE WARNING : Pragma %s cuted from %d bytes to %d\n",pragma,s,sizeof(features)); + mp_msg(MSGT_NETWORK,MSGL_WARN,MSGTR_MPDEMUX_ASF_ASFHTTPParseWarnCuttedPragma,pragma,s,sizeof(features)); len = sizeof(features); } else { len = s; @@ -719,7 +718,7 @@ static int asf_http_streaming_start( stream_t *stream, int *demuxer_type ) { asf_http_ctrl = (asf_http_streaming_ctrl_t*)malloc(sizeof(asf_http_streaming_ctrl_t)); if( asf_http_ctrl==NULL ) { - mp_msg(MSGT_NETWORK,MSGL_FATAL,"Memory allocation failed\n"); + mp_msg(MSGT_NETWORK,MSGL_FATAL,MSGTR_MPDEMUX_ASF_MallocFailed); return -1; } asf_http_ctrl->streaming_type = ASF_Unknown_e; @@ -745,7 +744,7 @@ static int asf_http_streaming_start( stream_t *stream, int *demuxer_type ) { for(i=0; i < (int)http_hdr->buffer_size ; ) { int r = send( fd, http_hdr->buffer+i, http_hdr->buffer_size-i, 0 ); if(r <0) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Socket write error : %s\n",strerror(errno)); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_SocketWriteError,strerror(errno)); return -1; } i += r; @@ -768,7 +767,7 @@ static int asf_http_streaming_start( stream_t *stream, int *demuxer_type ) { } ret = asf_http_parse_response(asf_http_ctrl, http_hdr); if( ret<0 ) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"Failed to parse header\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_HeaderParseFailed); http_free( http_hdr ); return -1; } @@ -788,7 +787,7 @@ static int asf_http_streaming_start( stream_t *stream, int *demuxer_type ) { ret = asf_streaming_parse_header(fd,stream->streaming_ctrl); if(ret < 0) return -1; if(asf_http_ctrl->n_audio == 0 && asf_http_ctrl->n_video == 0) { - mp_msg(MSGT_NETWORK,MSGL_ERR,"No stream found\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_NoStreamFound); return -1; } asf_http_ctrl->request++; @@ -815,7 +814,7 @@ static int asf_http_streaming_start( stream_t *stream, int *demuxer_type ) { break; case ASF_Unknown_e: default: - mp_msg(MSGT_NETWORK,MSGL_ERR,"Unknown ASF streaming type\n"); + mp_msg(MSGT_NETWORK,MSGL_ERR,MSGTR_MPDEMUX_ASF_UnknownASFStreamingType); closesocket(fd); http_free( http_hdr ); return -1; @@ -851,7 +850,7 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) { stream->streaming_ctrl->url = check4proxies(url); url_free(url); - mp_msg(MSGT_OPEN, MSGL_INFO, "STREAM_ASF, URL: %s\n", stream->url); + mp_msg(MSGT_OPEN, MSGL_INFO, MSGTR_MPDEMUX_ASF_InfoStreamASFURL); if((!strncmp(stream->url, "http", 4)) && (*file_format!=DEMUXER_TYPE_ASF && *file_format!=DEMUXER_TYPE_UNKNOWN)) { streaming_ctrl_free(stream->streaming_ctrl); stream->streaming_ctrl = NULL; @@ -859,7 +858,7 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) { } if(asf_streaming_start(stream, file_format) < 0) { - mp_msg(MSGT_OPEN, MSGL_ERR, "failed, exiting\n"); + mp_msg(MSGT_OPEN, MSGL_ERR, MSGTR_MPDEMUX_ASF_StreamingFailed); streaming_ctrl_free(stream->streaming_ctrl); stream->streaming_ctrl = NULL; return STREAM_UNSUPORTED; |