diff --git a/trunk/configure b/trunk/configure index 823e278a6..cf821e3ec 100755 --- a/trunk/configure +++ b/trunk/configure @@ -134,7 +134,7 @@ MODULE_ID="KERNEL" MODULE_DEPENDS=("CORE") ModuleLibIncs=(${SRS_OBJS}) MODULE_FILES=("srs_kernel_error" "srs_kernel_log" "srs_kernel_reload" "srs_kernel_config" - "srs_kernel_stream") + "srs_kernel_stream" "srs_kernel_buffer") MODULE_DIR="src/kernel" . auto/modules.sh KERNEL_OBJS="${MODULE_OBJS[@]}" # @@ -144,7 +144,7 @@ MODULE_DEPENDS=("CORE" "KERNEL") ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${LibSSLRoot} ${SRS_OBJS}) MODULE_FILES=("srs_core_server" "srs_core_conn" "srs_core_client" - "srs_core_rtmp" "srs_core_socket" "srs_core_buffer" + "srs_core_rtmp" "srs_core_socket" "srs_core_protocol" "srs_core_amf0" "srs_core_source" "srs_core_codec" "srs_core_handshake" "srs_core_pithy_print" diff --git a/trunk/src/app/srs_core_protocol.cpp b/trunk/src/app/srs_core_protocol.cpp index e92d1ae8f..a2bd39849 100644 --- a/trunk/src/app/srs_core_protocol.cpp +++ b/trunk/src/app/srs_core_protocol.cpp @@ -27,7 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include -#include +#include #include #include diff --git a/trunk/src/app/srs_core_socket.hpp b/trunk/src/app/srs_core_socket.hpp index f027287b4..17d4dd27a 100644 --- a/trunk/src/app/srs_core_socket.hpp +++ b/trunk/src/app/srs_core_socket.hpp @@ -31,12 +31,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include +#include /** * the socket provides TCP socket over st, * that is, the sync socket mechanism. */ -class SrsSocket +class SrsSocket : public ISrsReader { private: int64_t recv_timeout; diff --git a/trunk/src/app/srs_core_buffer.cpp b/trunk/src/kernel/srs_kernel_buffer.cpp similarity index 92% rename from trunk/src/app/srs_core_buffer.cpp rename to trunk/src/kernel/srs_kernel_buffer.cpp index d901a10e7..3efa5459c 100644 --- a/trunk/src/app/srs_core_buffer.cpp +++ b/trunk/src/kernel/srs_kernel_buffer.cpp @@ -21,14 +21,21 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include -#include #include #define SOCKET_READ_SIZE 4096 +ISrsReader::ISrsReader() +{ +} + +ISrsReader::~ISrsReader() +{ +} + SrsBuffer::SrsBuffer() { } @@ -57,7 +64,7 @@ void SrsBuffer::append(char* bytes, int size) data.insert(data.end(), bytes, bytes + size); } -int SrsBuffer::ensure_buffer_bytes(SrsSocket* skt, int required_size) +int SrsBuffer::ensure_buffer_bytes(ISrsReader* skt, int required_size) { int ret = ERROR_SUCCESS; diff --git a/trunk/src/app/srs_core_buffer.hpp b/trunk/src/kernel/srs_kernel_buffer.hpp similarity index 83% rename from trunk/src/app/srs_core_buffer.hpp rename to trunk/src/kernel/srs_kernel_buffer.hpp index 8d66cdcbd..9b0bf68b6 100644 --- a/trunk/src/app/srs_core_buffer.hpp +++ b/trunk/src/kernel/srs_kernel_buffer.hpp @@ -21,18 +21,25 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef SRS_CORE_BUFFER_HPP -#define SRS_CORE_BUFFER_HPP +#ifndef SRS_KERNEL_BUFFER_HPP +#define SRS_KERNEL_BUFFER_HPP /* -#include +#include */ #include #include -class SrsSocket; +class ISrsReader +{ +public: + ISrsReader(); + virtual ~ISrsReader(); +public: + virtual int read(const void* buf, size_t size, ssize_t* nread) = 0; +}; /** * the buffer provices bytes cache for protocol. generally, @@ -53,7 +60,7 @@ public: private: virtual void append(char* bytes, int size); public: - virtual int ensure_buffer_bytes(SrsSocket* skt, int required_size); + virtual int ensure_buffer_bytes(ISrsReader* skt, int required_size); }; #endif \ No newline at end of file diff --git a/trunk/src/srs/srs.upp b/trunk/src/srs/srs.upp index d3dde9344..95e6b1f7c 100755 --- a/trunk/src/srs/srs.upp +++ b/trunk/src/srs/srs.upp @@ -10,6 +10,8 @@ file ..\core\srs_core_autofree.hpp, ..\core\srs_core_autofree.cpp, kernel readonly separator, + ..\kernel\srs_kernel_buffer.hpp, + ..\kernel\srs_kernel_buffer.cpp, ..\kernel\srs_kernel_config.hpp, ..\kernel\srs_kernel_config.cpp, ..\kernel\srs_kernel_error.hpp, @@ -25,8 +27,6 @@ file ..\app\srs_core_amf0.cpp, ..\app\srs_core_bandwidth.hpp, ..\app\srs_core_bandwidth.cpp, - ..\app\srs_core_buffer.hpp, - ..\app\srs_core_buffer.cpp, ..\app\srs_core_client.hpp, ..\app\srs_core_client.cpp, ..\app\srs_core_codec.hpp,