Ver código fonte

Merge branch 'v0.16'

Paul-Louis Ageneau 3 anos atrás
pai
commit
127f157fc0

+ 1 - 1
CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.7)
 project(libdatachannel
-	VERSION 0.16.3
+	VERSION 0.16.4
 	LANGUAGES CXX)
 set(PROJECT_DESCRIPTION "C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets")
 

+ 1 - 1
deps/libjuice

@@ -1 +1 @@
-Subproject commit 62b88fb776b1a79638c683192744f3ec0b430c6f
+Subproject commit 3795466e704191dd35f8a46b82ca06cbbc395cd9

+ 1 - 1
examples/client-benchmark/CMakeLists.txt

@@ -31,7 +31,7 @@ set_target_properties(datachannel-client-benchmark PROPERTIES
 find_package(Threads REQUIRED)
 target_link_libraries(datachannel-client-benchmark LibDataChannel::LibDataChannel Threads::Threads nlohmann_json)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET datachannel-client-benchmark POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 1 - 1
examples/client/CMakeLists.txt

@@ -45,7 +45,7 @@ set_target_properties(datachannel-client PROPERTIES
 find_package(Threads REQUIRED)
 target_link_libraries(datachannel-client LibDataChannel::LibDataChannel Threads::Threads nlohmann_json)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET datachannel-client POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 1 - 1
examples/copy-paste-capi/CMakeLists.txt

@@ -52,7 +52,7 @@ set_target_properties(datachannel-copy-paste-capi-answerer PROPERTIES
 find_package(Threads REQUIRED)
 target_link_libraries(datachannel-copy-paste-capi-answerer LibDataChannel::LibDataChannel Threads::Threads)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET datachannel-copy-paste-capi-offerer POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 1 - 1
examples/copy-paste/CMakeLists.txt

@@ -51,7 +51,7 @@ set_target_properties(datachannel-copy-paste-answerer PROPERTIES
 find_package(Threads REQUIRED)
 target_link_libraries(datachannel-copy-paste-answerer LibDataChannel::LibDataChannel Threads::Threads)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET datachannel-copy-paste-offerer POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 1 - 1
examples/media/CMakeLists.txt

@@ -26,7 +26,7 @@ set_target_properties(datachannel-media PROPERTIES
 find_package(Threads REQUIRED)
 target_link_libraries(datachannel-media LibDataChannel::LibDataChannel Threads::Threads nlohmann_json)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET datachannel-media POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 1 - 1
examples/sfu-media/CMakeLists.txt

@@ -25,7 +25,7 @@ set_target_properties(datachannel-sfu-media PROPERTIES
 
 target_link_libraries(datachannel-sfu-media LibDataChannel::LibDataChannel nlohmann_json)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET datachannel-sfu-media POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 1 - 1
examples/streamer/CMakeLists.txt

@@ -47,7 +47,7 @@ set_target_properties(streamer PROPERTIES
 find_package(Threads REQUIRED)
 target_link_libraries(streamer LibDataChannel::LibDataChannel Threads::Threads nlohmann_json)
 
-if(WIN32)
+if(MSVC)
 	add_custom_command(TARGET streamer POST_BUILD
 		COMMAND ${CMAKE_COMMAND} -E copy_if_different
 		"$<TARGET_FILE_DIR:datachannel>/datachannel.dll"

+ 39 - 36
examples/streamer/helpers.cpp

@@ -17,43 +17,46 @@
  */
 
 #include "helpers.hpp"
+
 #include <ctime>
 
-#ifdef _WIN32
+#ifdef _MSC_VER
 // taken from https://stackoverflow.com/questions/10905892/equivalent-of-gettimeday-for-windows
 #include <windows.h>
 #include <winsock2.h> // for struct timeval
 
 struct timezone {
-    int tz_minuteswest;
-    int tz_dsttime;
+	int tz_minuteswest;
+	int tz_dsttime;
 };
-int gettimeofday(struct timeval *tv, struct timezone *tz)
-{
-    if (tv) {
-        FILETIME               filetime; /* 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 00:00 UTC */
-        ULARGE_INTEGER         x;
-        ULONGLONG              usec;
-        static const ULONGLONG epoch_offset_us = 11644473600000000ULL; /* microseconds betweeen Jan 1,1601 and Jan 1,1970 */
+
+int gettimeofday(struct timeval *tv, struct timezone *tz) {
+	if (tv) {
+		FILETIME filetime; /* 64-bit value representing the number of 100-nanosecond intervals since
+		                      January 1, 1601 00:00 UTC */
+		ULARGE_INTEGER x;
+		ULONGLONG usec;
+		static const ULONGLONG epoch_offset_us =
+		    11644473600000000ULL; /* microseconds betweeen Jan 1,1601 and Jan 1,1970 */
 
 #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
-        GetSystemTimePreciseAsFileTime(&filetime);
+		GetSystemTimePreciseAsFileTime(&filetime);
 #else
-        GetSystemTimeAsFileTime(&filetime);
+		GetSystemTimeAsFileTime(&filetime);
 #endif
-        x.LowPart =  filetime.dwLowDateTime;
-        x.HighPart = filetime.dwHighDateTime;
-        usec = x.QuadPart / 10  -  epoch_offset_us;
-        tv->tv_sec  = time_t(usec / 1000000ULL);
-        tv->tv_usec = long(usec % 1000000ULL);
-    }
-    if (tz) {
-        TIME_ZONE_INFORMATION timezone;
-        GetTimeZoneInformation(&timezone);
-        tz->tz_minuteswest = timezone.Bias;
-        tz->tz_dsttime = 0;
-    }
-    return 0;
+		x.LowPart = filetime.dwLowDateTime;
+		x.HighPart = filetime.dwHighDateTime;
+		usec = x.QuadPart / 10 - epoch_offset_us;
+		tv->tv_sec = time_t(usec / 1000000ULL);
+		tv->tv_usec = long(usec % 1000000ULL);
+	}
+	if (tz) {
+		TIME_ZONE_INFORMATION timezone;
+		GetTimeZoneInformation(&timezone);
+		tz->tz_minuteswest = timezone.Bias;
+		tz->tz_dsttime = 0;
+	}
+	return 0;
 }
 #else
 #include <sys/time.h>
@@ -63,27 +66,27 @@ using namespace std;
 using namespace rtc;
 
 ClientTrackData::ClientTrackData(shared_ptr<Track> track, shared_ptr<RtcpSrReporter> sender) {
-    this->track = track;
-    this->sender = sender;
+	this->track = track;
+	this->sender = sender;
 }
 
 void Client::setState(State state) {
-    std::unique_lock lock(_mutex);
-    this->state = state;
+	std::unique_lock lock(_mutex);
+	this->state = state;
 }
 
 Client::State Client::getState() {
-    std::shared_lock lock(_mutex);
-    return state;
+	std::shared_lock lock(_mutex);
+	return state;
 }
 
 ClientTrack::ClientTrack(string id, shared_ptr<ClientTrackData> trackData) {
-    this->id = id;
-    this->trackData = trackData;
+	this->id = id;
+	this->trackData = trackData;
 }
 
 uint64_t currentTimeInMicroSeconds() {
-    struct timeval time;
-    gettimeofday(&time, NULL);
-    return uint64_t(time.tv_sec) * 1000 * 1000 + time.tv_usec;
+	struct timeval time;
+	gettimeofday(&time, NULL);
+	return uint64_t(time.tv_sec) * 1000 * 1000 + time.tv_usec;
 }