|
|
|
@@ -648,4 +648,33 @@ struct AVBPrint; |
|
|
|
*/ |
|
|
|
int avio_read_to_bprint(AVIOContext *h, struct AVBPrint *pb, size_t max_size); |
|
|
|
|
|
|
|
/** |
|
|
|
* Accept and allocate a client context on a server context. |
|
|
|
* @param s the server context |
|
|
|
* @param c the client context, must be unallocated |
|
|
|
* @return >= 0 on success or a negative value corresponding |
|
|
|
* to an AVERROR on failure |
|
|
|
*/ |
|
|
|
int avio_accept(AVIOContext *s, AVIOContext **c); |
|
|
|
|
|
|
|
/** |
|
|
|
* Perform one step of the protocol handshake to accept a new client. |
|
|
|
* This function must be called on a client returned by avio_accept() before |
|
|
|
* using it as a read/write context. |
|
|
|
* It is separate from avio_accept() because it may block. |
|
|
|
* A step of the handshake is defined by places where the application may |
|
|
|
* decide to change the proceedings. |
|
|
|
* For example, on a protocol with a request header and a reply header, each |
|
|
|
* one can constitute a step because the application may use the parameters |
|
|
|
* from the request to change parameters in the reply; or each individual |
|
|
|
* chunk of the request can constitute a step. |
|
|
|
* If the handshake is already finished, avio_handshake() does nothing and |
|
|
|
* returns 0 immediately. |
|
|
|
* |
|
|
|
* @param c the client context to perform the handshake on |
|
|
|
* @return 0 on a complete and successful handshake |
|
|
|
* > 0 if the handshake progressed, but is not complete |
|
|
|
* < 0 for an AVERROR code |
|
|
|
*/ |
|
|
|
int avio_handshake(AVIOContext *c); |
|
|
|
#endif /* AVFORMAT_AVIO_H */ |