@ -86,6 +86,32 @@ void url_set_interrupt_cb(URLInterruptCB *interrupt_cb);
/* not implemented */
/* not implemented */
int url_poll ( URLPollEntry * poll_table , int n , int timeout ) ;
int url_poll ( URLPollEntry * poll_table , int n , int timeout ) ;
/** Start playing or resume paused playout. Only meaningful if using a network
* streaming protocol ( e . g . MMS ) . */
int av_url_read_play ( URLContext * h ) ;
/** Pause playing - only meaningful if using a network streaming protocol
* ( e . g . MMS ) . */
int av_url_read_pause ( URLContext * h ) ;
/**
* Seek to a given timestamp relative to some component stream .
* Only meaningful if using a network streaming protocol ( e . g . MMS . )
* @ param stream_index The stream index that the timestamp is relative to .
* If stream_index is ( - 1 ) the timestamp should be in AV_TIME_BASE
* units from the beginning of the presentation .
* If a stream_index > = 0 is used and the protocol does not support
* seeking based on component streams , the call will fail with ENOTSUP .
* @ param time_stamp timestamp timestamp in AVStream . time_base units
* or if there is no stream specified then in AV_TIME_BASE units .
* @ param flags Optional combination of AVSEEK_FLAG_BACKWARD , AVSEEK_FLAG_BYTE
* and AVSEEK_FLAG_ANY . The protocol may silently ignore
* AVSEEK_FLAG_BACKWARD and AVSEEK_FLAG_ANY , but AVSEEK_FLAG_BYTE will
* fail with ENOTSUP if used and not supported .
* @ return > = 0 on success
* @ see AVInputFormat : : read_seek
*/
int av_url_read_seek ( URLContext * h ,
int stream_index , int64_t timestamp , int flags ) ;
/**
/**
* Passing this as the " whence " parameter to a seek function causes it to
* Passing this as the " whence " parameter to a seek function causes it to
* return the filesize without seeking anywhere . Supporting this is optional .
* return the filesize without seeking anywhere . Supporting this is optional .
@ -101,6 +127,10 @@ typedef struct URLProtocol {
offset_t ( * url_seek ) ( URLContext * h , offset_t pos , int whence ) ;
offset_t ( * url_seek ) ( URLContext * h , offset_t pos , int whence ) ;
int ( * url_close ) ( URLContext * h ) ;
int ( * url_close ) ( URLContext * h ) ;
struct URLProtocol * next ;
struct URLProtocol * next ;
int ( * url_read_play ) ( URLContext * h ) ;
int ( * url_read_pause ) ( URLContext * h ) ;
int ( * url_read_seek ) ( URLContext * h ,
int stream_index , int64_t timestamp , int flags ) ;
} URLProtocol ;
} URLProtocol ;
extern URLProtocol * first_protocol ;
extern URLProtocol * first_protocol ;