diff --git a/trunk/src/kernel/srs_kernel_file.cpp b/trunk/src/kernel/srs_kernel_file.cpp index c06ccc445..e872612c8 100644 --- a/trunk/src/kernel/srs_kernel_file.cpp +++ b/trunk/src/kernel/srs_kernel_file.cpp @@ -26,11 +26,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213 #ifndef _WIN32 #include +#include #endif #include #include -#include using namespace std; #include diff --git a/trunk/src/kernel/srs_kernel_utility.cpp b/trunk/src/kernel/srs_kernel_utility.cpp index f469e694e..b445e5394 100644 --- a/trunk/src/kernel/srs_kernel_utility.cpp +++ b/trunk/src/kernel/srs_kernel_utility.cpp @@ -307,8 +307,13 @@ int srs_do_create_dir_recursively(string dir) } // create curren dir. + // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213 +#ifndef _WIN32 mode_t mode = S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IXOTH; if (::mkdir(dir.c_str(), mode) < 0) { +#else + if (::mkdir(dir.c_str()) < 0) { +#endif if (errno == EEXIST) { return ERROR_SYSTEM_DIR_EXISTS; } diff --git a/trunk/src/libs/srs_librtmp.hpp b/trunk/src/libs/srs_librtmp.hpp index b0fc49e52..fbbe42e56 100644 --- a/trunk/src/libs/srs_librtmp.hpp +++ b/trunk/src/libs/srs_librtmp.hpp @@ -49,6 +49,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. typedef unsigned long long u_int64_t; typedef long long int64_t; typedef unsigned int u_int32_t; + typedef u_int32_t uint32_t; typedef int int32_t; typedef unsigned char u_int8_t; typedef char int8_t; @@ -1025,20 +1026,31 @@ typedef void* srs_hijack_io_t; *************************************************************/ // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213 #ifdef _WIN32 + // for time. #define _CRT_SECURE_NO_WARNINGS #include int gettimeofday(struct timeval* tv, struct timezone* tz); #define PRId64 "lld" + // for inet helpers. typedef int socklen_t; const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); + + // for mkdir(). + #include + + // for open(). typedef int mode_t; #define S_IRUSR 0 #define S_IWUSR 0 + #define S_IXUSR 0 #define S_IRGRP 0 #define S_IWGRP 0 + #define S_IXGRP 0 #define S_IROTH 0 + #define S_IXOTH 0 + // for file seek. #include #include #define open _open @@ -1047,14 +1059,19 @@ typedef void* srs_hijack_io_t; #define write _write #define read _read + // for pid. typedef int pid_t; pid_t getpid(void); - #define snprintf _snprintf + + // for socket. ssize_t writev(int fd, const struct iovec *iov, int iovcnt); typedef int64_t useconds_t; int usleep(useconds_t usec); int socket_setup(); int socket_cleanup(); + + // others. + #define snprintf _snprintf #endif #ifdef __cplusplus