Skip to content

Commit

Permalink
allow for callback
Browse files Browse the repository at this point in the history
  • Loading branch information
Yuval Tal committed Jan 30, 2020
1 parent 5ee28c9 commit 37d8ad9
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 13 deletions.
23 changes: 20 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ SOURCES=\
mediasoup-client-ios/src/Consumer.mm \
mediasoup-client-ios/src/Device.mm \
mediasoup-client-ios/src/Logger.mm \
mediasoup-client-ios/src/Mediasoupclient.mm \
mediasoup-client-ios/src/Producer.mm \
mediasoup-client-ios/src/RecvTransport.mm \
mediasoup-client-ios/src/SendTransport.mm \
Expand All @@ -16,7 +15,25 @@ SOURCES=\
mediasoup-client-ios/src/C++Wrapper/MediasoupclientWrapper.mm \
mediasoup-client-ios/src/C++Wrapper/ProducerWrapper.mm \
mediasoup-client-ios/src/C++Wrapper/TransportWrapper.mm \
mediasoup-client-ios/src/webrtc/RTCUtils.m
mediasoup-client-ios/src/webrtc/RTCUtils.m \
mediasoup-client-ios/src/Mediasoupclient.mm

HEADERS=\
mediasoup-client-ios/include/Consumer.h \
mediasoup-client-ios/include/Device.h \
mediasoup-client-ios/include/Logger.h \
mediasoup-client-ios/include/Mediasoupclient.h \
mediasoup-client-ios/include/Producer.h \
mediasoup-client-ios/include/RecvTransport.h \
mediasoup-client-ios/include/SendTransport.h \
mediasoup-client-ios/include/Transport.h \
mediasoup-client-ios/include/wrapper/ConsumerWrapper.h \
mediasoup-client-ios/include/wrapper/DeviceWrapper.h \
mediasoup-client-ios/include/wrapper/LoggerWrapper.h \
mediasoup-client-ios/include/wrapper/MediasoupclientWrapper.h \
mediasoup-client-ios/include/wrapper/ProducerWrapper.h \
mediasoup-client-ios/include/wrapper/TransportWrapper.h \
mediasoup-client-ios/include/RTCUtils.h

OBJECTS=$(SOURCES:.mm=.o)
OBJECTS+=$(SOURCES:.m=.o)
Expand Down Expand Up @@ -61,7 +78,7 @@ LDFLAGS = \

all: $(ARCHIVE) $(TEST)

$(ARCHIVE): $(OBJECTS)
$(ARCHIVE): $(OBJECTS) $(HEADERS)
$(AR) r $(ARCHIVE) $(OBJECTS)


Expand Down
2 changes: 1 addition & 1 deletion mediasoup-client-ios/include/SendTransport.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
@param rtpParameters Producer's RTP parameters
@param appData Custom application data (given in the transport.producer() method)
*/
-(NSString *)onProduce:(Transport *)transport kind:(NSString *)kind rtpParameters:(NSString *)rtpParameters appData:(NSString *)appData;
-(void)onProduce:(Transport *)transport kind:(NSString *)kind rtpParameters:(NSString *)rtpParameters appData:(NSString *)appData callback:(void(^)(NSString *))callback;
@end

#endif /* SendTransport_h */
21 changes: 12 additions & 9 deletions mediasoup-client-ios/include/wrapper/TransportWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,18 @@ class SendTransportListenerWrapper : public mediasoupclient::SendTransport::List

NSValue * transportObject = [NSValue valueWithPointer:nativeTransport];
SendTransport *sendTransport = [[SendTransport alloc] initWithNativeTransport:transportObject];

auto result = [this->listener onProduce:sendTransport
kind:[NSString stringWithUTF8String:kind.c_str()]
rtpParameters:[NSString stringWithUTF8String:rtpParametersString.c_str()]
appData:[NSString stringWithUTF8String:appDataString.c_str()]];

std::promise<std::string> promise;
promise.set_value(std::string([result UTF8String]));


__block std::promise<std::string> promise;

[this->listener onProduce:sendTransport
kind:[NSString stringWithUTF8String:kind.c_str()]
rtpParameters:[NSString stringWithUTF8String:rtpParametersString.c_str()]
appData:[NSString stringWithUTF8String:appDataString.c_str()]
callback:^(NSString* id) {
promise->set_value(std::string([id UTF8String]));
}
];

return promise.get_future();
};
};
Expand Down

0 comments on commit 37d8ad9

Please sign in to comment.