Skip to content

Commit

Permalink
refactor: [DIOS-6937] Use safer async wrapper with weak_ptr object li…
Browse files Browse the repository at this point in the history
…fetimes (#20)
  • Loading branch information
bcostdolby authored Oct 1, 2024
1 parent d6ce846 commit 637f16c
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 46 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"uuid": "^3.3.2"
},
"peerDependencies": {
"medooze-media-server-src": "^2.0.3"
"medooze-media-server-src": "^3.0.0"
},
"devDependencies": {
"@types/lfsr": "^0.0.0",
Expand Down
3 changes: 1 addition & 2 deletions src/MediaFrameListenerBridge.i
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ struct MediaFrameListenerBridge :
public MediaFrameListener,
public MediaFrameProducer
{
MediaFrameListenerBridge(TimeService& timeService, int ssrc);

QWORD numFrames;
QWORD numPackets;
Expand Down Expand Up @@ -59,7 +58,7 @@ SHARED_PTR_BEGIN(MediaFrameListenerBridge)
{
MediaFrameListenerBridgeShared(TimeService& timeService, int ssrc)
{
return new std::shared_ptr<MediaFrameListenerBridge>(new MediaFrameListenerBridge(timeService, ssrc));
return new std::shared_ptr<MediaFrameListenerBridge>(MediaFrameListenerBridge::Create(timeService, ssrc));
}
SHARED_PTR_TO(RTPIncomingMediaStream)
SHARED_PTR_TO(RTPReceiver)
Expand Down
54 changes: 11 additions & 43 deletions src/video-codecs_wrap.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1857,7 +1857,7 @@ MediaFrameListenerBridgeShared* MediaFrameListenerBridgeShared_from_proxy(const


SWIGINTERN MediaFrameListenerBridgeShared *new_MediaFrameListenerBridgeShared(TimeService &timeService,int ssrc){
return new std::shared_ptr<MediaFrameListenerBridge>(new MediaFrameListenerBridge(timeService, ssrc));
return new std::shared_ptr<MediaFrameListenerBridge>(MediaFrameListenerBridge::Create(timeService, ssrc));
}
SWIGINTERN RTPIncomingMediaStreamShared MediaFrameListenerBridgeShared_toRTPIncomingMediaStream__SWIG(MediaFrameListenerBridgeShared *self){
return std::static_pointer_cast<RTPIncomingMediaStream>(*self);
Expand Down Expand Up @@ -3116,47 +3116,6 @@ static void _wrap_delete_FrameDispatchCoordinatorShared(const v8::WeakCallbackIn
}


static SwigV8ReturnValue _wrap_new_MediaFrameListenerBridge(const SwigV8Arguments &args) {
SWIGV8_HANDLESCOPE();

SWIGV8_OBJECT self = args.Holder();
TimeService *arg1 = 0 ;
int arg2 ;
void *argp1 = 0 ;
int res1 = 0 ;
int val2 ;
int ecode2 = 0 ;
MediaFrameListenerBridge *result;
if(self->InternalFieldCount() < 1) SWIG_exception_fail(SWIG_ERROR, "Illegal call of constructor _wrap_new_MediaFrameListenerBridge.");
if(args.Length() != 2) SWIG_exception_fail(SWIG_ERROR, "Illegal number of arguments for _wrap_new_MediaFrameListenerBridge.");
res1 = SWIG_ConvertPtr(args[0], &argp1, SWIGTYPE_p_TimeService, 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_MediaFrameListenerBridge" "', argument " "1"" of type '" "TimeService &""'");
}
if (!argp1) {
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_MediaFrameListenerBridge" "', argument " "1"" of type '" "TimeService &""'");
}
arg1 = reinterpret_cast< TimeService * >(argp1);
ecode2 = SWIG_AsVal_int(args[1], &val2);
if (!SWIG_IsOK(ecode2)) {
SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_MediaFrameListenerBridge" "', argument " "2"" of type '" "int""'");
}
arg2 = static_cast< int >(val2);
result = (MediaFrameListenerBridge *)new MediaFrameListenerBridge(*arg1,arg2);





SWIGV8_SetPrivateData(self, result, SWIGTYPE_p_MediaFrameListenerBridge, SWIG_POINTER_OWN);
SWIGV8_RETURN(self);

goto fail;
fail:
SWIGV8_RETURN(SWIGV8_UNDEFINED());
}


static void _wrap_MediaFrameListenerBridge_numFrames_set(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
SWIGV8_HANDLESCOPE();

Expand Down Expand Up @@ -4342,6 +4301,15 @@ static void _wrap_delete_MediaFrameListenerBridge(const v8::WeakCallbackInfo<SWI
}


static SwigV8ReturnValue _wrap_new_veto_MediaFrameListenerBridge(const SwigV8Arguments &args) {
SWIGV8_HANDLESCOPE();

SWIG_exception(SWIG_ERROR, "Class MediaFrameListenerBridge can not be instantiated");
fail:
SWIGV8_RETURN(SWIGV8_UNDEFINED());
}


static SwigV8ReturnValue _wrap_new_MediaFrameListenerBridgeShared(const SwigV8Arguments &args) {
SWIGV8_HANDLESCOPE();

Expand Down Expand Up @@ -8030,7 +7998,7 @@ v8::Local<v8::Object> _exports_FrameDispatchCoordinatorShared_obj = _exports_Fra
#endif
/* Class: MediaFrameListenerBridge (_exports_MediaFrameListenerBridge) */
SWIGV8_FUNCTION_TEMPLATE _exports_MediaFrameListenerBridge_class_0 = SWIGV8_CreateClassTemplate("MediaFrameListenerBridge");
_exports_MediaFrameListenerBridge_class_0->SetCallHandler(_wrap_new_MediaFrameListenerBridge);
_exports_MediaFrameListenerBridge_class_0->SetCallHandler(_wrap_new_veto_MediaFrameListenerBridge);
_exports_MediaFrameListenerBridge_class_0->Inherit(_exports_MediaFrameListenerBridge_class);
#if (SWIG_V8_VERSION < 0x0704)
_exports_MediaFrameListenerBridge_class_0->SetHiddenPrototype(true);
Expand Down

0 comments on commit 637f16c

Please sign in to comment.