view network.h @ 1346:d6e6132bff35

AUDIO_ENCODING_LINEAR8 format is not available on sunos 5.5. Format is unsupported in mplayer for now, to get the code compiled on that old version of the OS.
author jkeil
date Thu, 19 Jul 2001 20:04:54 +0000
parents 92833c9472e8
children
line wrap: on
line source

/*
 * Network layer for MPlayer
 * by Bertrand BAUDET <bertrand_baudet@yahoo.com>
 * (C) 2001, MPlayer team.
 */

#ifndef __NETWORK_H
#define __NETWORK_H

#include <pthread.h>

#include "stream.h"

#include "url.h"

#define BUFFER_SIZE		2048

typedef enum {
	streaming_stopped_e,
	streaming_playing_e
} streaming_status;

typedef struct {
	char *buffer;
	int length;
} Net_Fifo;

typedef struct streaming_control {
	URL_t **url;
	int fd_net;
	int fd_pipe_in;
	streaming_status status;
	pthread_t thread_id;
	Net_Fifo *buffer;
	int buffering;	// boolean
	int prebuffer_size;
	int (*streaming_read)( struct streaming_control *stream_ctrl );
} streaming_ctrl_t;

Net_Fifo* net_fifo_new( );
void net_fifo_free(Net_Fifo *net_fifo );
int net_fifo_pop(Net_Fifo *net_fifo, char *buffer, int length );
int net_fifo_push(Net_Fifo *net_fifo, char *buffer, int length );

int connect2Server(char *host, int port);
int readFromServer(int fd, char *buffer, int length );
int autodetectProtocol( URL_t *url, int *fd_out );

#endif