29 #ifndef __MEDIA_HTTPINPUTDATASOURCE_H 30 #define __MEDIA_HTTPINPUTDATASOURCE_H 32 #include <media/InputDataSource.h> 34 #include <curl/curl.h> 35 #include <curl/easy.h> 39 #include <condition_variable> 47 class StreamBufferReader;
48 class StreamBufferWriter;
105 bool open()
override;
112 bool close()
override;
121 ssize_t
read(
unsigned char *buf,
size_t size)
override;
132 static size_t HeaderCallback(
char *data,
size_t size,
size_t nmemb,
void *userp);
133 static size_t WriteCallback(
char *data,
size_t size,
size_t nmemb,
void *userp);
134 static void *workerMain(
void *arg);
137 std::string mContentType;
141 std::condition_variable mCondv;
142 bool mIsHeaderReceived;
143 bool mIsDataReceived;
144 std::shared_ptr<HttpStream> mHttpStream;
145 std::shared_ptr<StreamBuffer> mStreamBuffer;
146 std::shared_ptr<StreamBufferReader> mBufferReader;
147 std::shared_ptr<StreamBufferWriter> mBufferWriter;
153 #endif // __MEDIA_HTTPINPUTDATASOURCE_H
Media BufferObserverInterface APIs.