From c51e4083a66f40dfa6b62e9c91abad1889bf3108 Mon Sep 17 00:00:00 2001 From: System Administrator Date: Tue, 2 Aug 2016 22:06:26 +0200 Subject: Update openSSL for iOS and OSX to version 1.0.2h --- thirdparties/iphone/lib/universal/libcrypto.a | Bin 12036712 -> 11930672 bytes thirdparties/iphone/lib/universal/libssl.a | Bin 2178976 -> 1995080 bytes tinyNET/src/tnet_transport_cfsocket.c | 1 + 3 files changed, 1 insertion(+) mode change 100755 => 100644 thirdparties/iphone/lib/universal/libcrypto.a mode change 100755 => 100644 thirdparties/iphone/lib/universal/libssl.a diff --git a/thirdparties/iphone/lib/universal/libcrypto.a b/thirdparties/iphone/lib/universal/libcrypto.a old mode 100755 new mode 100644 index e9263a5..a20268e Binary files a/thirdparties/iphone/lib/universal/libcrypto.a and b/thirdparties/iphone/lib/universal/libcrypto.a differ diff --git a/thirdparties/iphone/lib/universal/libssl.a b/thirdparties/iphone/lib/universal/libssl.a old mode 100755 new mode 100644 index 2833b44..7136aa5 Binary files a/thirdparties/iphone/lib/universal/libssl.a and b/thirdparties/iphone/lib/universal/libssl.a differ diff --git a/tinyNET/src/tnet_transport_cfsocket.c b/tinyNET/src/tnet_transport_cfsocket.c index b66c3b3..ade8bc1 100755 --- a/tinyNET/src/tnet_transport_cfsocket.c +++ b/tinyNET/src/tnet_transport_cfsocket.c @@ -1325,6 +1325,7 @@ bail: } } tsk_safeobj_unlock(context); + // Release context CFRelease(context->cf_run_loop); context->cf_run_loop = NULL; -- cgit v1.1 From e707bf0126d60cc0843f18db65704adc50547ec5 Mon Sep 17 00:00:00 2001 From: System Administrator Date: Tue, 2 Aug 2016 22:07:22 +0200 Subject: Update openSSL for iOS and OSX to version 1.0.2h --- thirdparties/mac/lib/universal/libcrypto.a | Bin 0 -> 6361528 bytes thirdparties/mac/lib/universal/libssl.a | Bin 0 -> 1029336 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 thirdparties/mac/lib/universal/libcrypto.a create mode 100644 thirdparties/mac/lib/universal/libssl.a diff --git a/thirdparties/mac/lib/universal/libcrypto.a b/thirdparties/mac/lib/universal/libcrypto.a new file mode 100644 index 0000000..8a2d686 Binary files /dev/null and b/thirdparties/mac/lib/universal/libcrypto.a differ diff --git a/thirdparties/mac/lib/universal/libssl.a b/thirdparties/mac/lib/universal/libssl.a new file mode 100644 index 0000000..c669205 Binary files /dev/null and b/thirdparties/mac/lib/universal/libssl.a differ -- cgit v1.1 From 554bc193f0039ec129b7ac2eb80934bc67815dda Mon Sep 17 00:00:00 2001 From: System Administrator Date: Fri, 5 Aug 2016 23:18:42 +0200 Subject: Add support for pause for iOS audioUnit --- .../src/audio/coreaudio/tdav_consumer_audiounit.c | 40 ++++++++++++++++++++- .../src/audio/coreaudio/tdav_producer_audiounit.c | 41 +++++++++++++++++++++- 2 files changed, 79 insertions(+), 2 deletions(-) diff --git a/tinyDAV/src/audio/coreaudio/tdav_consumer_audiounit.c b/tinyDAV/src/audio/coreaudio/tdav_consumer_audiounit.c index 12ed8db..6cbe2b5 100755 --- a/tinyDAV/src/audio/coreaudio/tdav_consumer_audiounit.c +++ b/tinyDAV/src/audio/coreaudio/tdav_consumer_audiounit.c @@ -37,6 +37,8 @@ #define kRingPacketCount +10 static tsk_size_t tdav_consumer_audiounit_get(tdav_consumer_audiounit_t* self, void* data, tsk_size_t size); +static int tdav_consumer_audiounit_pause(tmedia_consumer_t* self); +static int tdav_consumer_audiounit_resume(tmedia_consumer_t* self); static OSStatus __handle_output_buffer(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, @@ -109,6 +111,10 @@ int tdav_consumer_audiounit_set(tmedia_consumer_t* self, const tmedia_param_t* p int32_t interrupt = *((uint8_t*)param->value) ? 1 : 0; return tdav_audiounit_handle_interrupt(consumer->audioUnitHandle, interrupt); } + else if (tsk_striequals(param->key, "pause") || tsk_striequals(param->key, "hold")) { + int32_t pause = *((uint8_t*)param->value) ? 1 : 0; + return pause ? tdav_consumer_audiounit_pause(self) : tdav_consumer_audiounit_resume(self); + } } } return tdav_consumer_audio_set(TDAV_CONSUMER_AUDIO(self), param); @@ -337,11 +343,43 @@ static int tdav_consumer_audiounit_pause(tmedia_consumer_t* self) TSK_DEBUG_ERROR("Invalid parameter"); return -1; } - consumer->paused = tsk_true; + if (!consumer->paused) { + consumer->paused = tsk_true; + if (consumer->started) { + int ret = tdav_audiounit_handle_stop(consumer->audioUnitHandle); + if(ret) { + TSK_DEBUG_ERROR("tdav_audiounit_handle_stop failed with error code=%d", ret); + } + consumer->started = false; + } + } + TSK_DEBUG_INFO("AudioUnit consumer paused"); return 0; } +static int tdav_consumer_audiounit_resume(tmedia_consumer_t* self) +{ + tdav_consumer_audiounit_t* consumer = (tdav_consumer_audiounit_t*)self; + if(!consumer) { + TSK_DEBUG_ERROR("Invalid parameter"); + return -1; + } + if (consumer->paused) { + consumer->paused = tsk_false; + if (!consumer->started) { + int ret = tdav_audiounit_handle_start(consumer->audioUnitHandle); + if(ret) { + TSK_DEBUG_ERROR("tdav_audiounit_handle_start failed with error code=%d", ret); + } + consumer->started = true; + } + } + + TSK_DEBUG_INFO("AudioUnit consumer resumed"); + return 0; +} + static int tdav_consumer_audiounit_stop(tmedia_consumer_t* self) { tdav_consumer_audiounit_t* consumer = (tdav_consumer_audiounit_t*)self; diff --git a/tinyDAV/src/audio/coreaudio/tdav_producer_audiounit.c b/tinyDAV/src/audio/coreaudio/tdav_producer_audiounit.c index 7f8af7e..b2b60f7 100755 --- a/tinyDAV/src/audio/coreaudio/tdav_producer_audiounit.c +++ b/tinyDAV/src/audio/coreaudio/tdav_producer_audiounit.c @@ -35,6 +35,9 @@ #define kRingPacketCount 10 +static int tdav_producer_audiounit_pause(tmedia_producer_t* self); +static int tdav_producer_audiounit_resume(tmedia_producer_t* self); + static OSStatus __handle_input_buffer(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, @@ -91,6 +94,10 @@ int tdav_producer_audiounit_set(tmedia_producer_t* self, const tmedia_param_t* p int32_t interrupt = *((uint8_t*)param->value) ? 1 : 0; return tdav_audiounit_handle_interrupt(producer->audioUnitHandle, interrupt); } + else if (tsk_striequals(param->key, "pause") || tsk_striequals(param->key, "hold")) { + int32_t pause = *((uint8_t*)param->value) ? 1 : 0; + return pause ? tdav_producer_audiounit_pause(self) : tdav_producer_audiounit_resume(self); + } } } return tdav_producer_audio_set(TDAV_PRODUCER_AUDIO(self), param); @@ -319,11 +326,43 @@ static int tdav_producer_audiounit_pause(tmedia_producer_t* self) TSK_DEBUG_ERROR("Invalid parameter"); return -1; } - producer->paused = tsk_true; + if (!producer->paused) { + producer->paused = tsk_true; + if (producer->started) { + int ret = tdav_audiounit_handle_stop(producer->audioUnitHandle); + if(ret) { + TSK_DEBUG_ERROR("tdav_audiounit_handle_stop failed with error code=%d", ret); + // do not return even if failed => we MUST stop the thread! + } + producer->started = false; + } + } TSK_DEBUG_INFO("AudioUnit producer paused"); return 0; } +static int tdav_producer_audiounit_resume(tmedia_producer_t* self) +{ + tdav_producer_audiounit_t* producer = (tdav_producer_audiounit_t*)self; + if(!producer) { + TSK_DEBUG_ERROR("Invalid parameter"); + return -1; + } + if (producer->paused) { + if (!producer->started) { + int ret = tdav_audiounit_handle_start(producer->audioUnitHandle); + if(ret) { + TSK_DEBUG_ERROR("tdav_audiounit_handle_start failed with error code=%d", ret); + // do not return even if failed => we MUST stop the thread! + } + } + producer->paused = false; + producer->started = true; + } + TSK_DEBUG_INFO("AudioUnit producer resumed"); + return 0; +} + static int tdav_producer_audiounit_stop(tmedia_producer_t* self) { tdav_producer_audiounit_t* producer = (tdav_producer_audiounit_t*)self; -- cgit v1.1