Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
dd28852
- added start ortc IDL files
robin-raymond Feb 6, 2017
11a70bc
- added start ortc IDL files and fixed a lot of IDL compilation bugs
robin-raymond Feb 9, 2017
19d65e2
- fixed IDL types for ORTC Lib
robin-raymond Feb 11, 2017
c40d791
- removed bogus wrapper object
robin-raymond Feb 11, 2017
2512e2a
- initial set of IDL CX generation routines created
robin-raymond Feb 16, 2017
494da3f
- make ORTC object idl all static methods
robin-raymond Feb 16, 2017
dad1d21
- added settings and logger IDL
robin-raymond Feb 20, 2017
1473adb
- fixed IDL issues in ORTC Lib wrapper
robin-raymond Feb 20, 2017
a658997
- added IDL definition documentation
robin-raymond Feb 21, 2017
8871456
- added stubbed implementation for CX wrapper interface
robin-raymond Feb 22, 2017
9bcf222
- added missing exception declations
robin-raymond Feb 22, 2017
6afdcaf
- fixed typo in mediastream IDL
robin-raymond Feb 22, 2017
433702a
- added anyholder promise object
robin-raymond Feb 22, 2017
80d0442
- added anyholderptr promise object
robin-raymond Feb 22, 2017
c3a00b5
- adding starter helper routines for wrapper glue
robin-raymond Feb 22, 2017
619bc4e
- media stream track does not have constructor
robin-raymond Feb 22, 2017
495d1eb
- removed IDL from wrapper project (it's in the ortclib project)
robin-raymond Feb 22, 2017
a42b090
- removed media stream track constructor
robin-raymond Feb 22, 2017
9666af4
- remove MediaSource track property setter
robin-raymond Feb 22, 2017
7e028b4
- remove MediaSource track property setter
robin-raymond Feb 22, 2017
8a8536b
- fixed capability double to take double in constructors instead of long
robin-raymond Feb 23, 2017
a092d5f
- fixed capability double to take double in constructors instead of long
robin-raymond Feb 23, 2017
cb223ca
- fixed typo in camelcase of deviceID and groupID
robin-raymond Feb 23, 2017
ec4de00
- fixed type "fameRate" vs "frameRate"
robin-raymond Feb 23, 2017
21f7df8
- removed unknown stats report enum type from wrapper
robin-raymond Feb 23, 2017
20ca75b
- removed stats report constructor
robin-raymond Feb 23, 2017
9d4d9c6
- fixed incorrect SRTP stats definition in IDL
robin-raymond Feb 23, 2017
5f9506a
- fixed incorrect SRTP stats definition in IDL
robin-raymond Feb 23, 2017
85199e0
- stats provider should not have constructor in IDL
robin-raymond Feb 23, 2017
cb972fe
- stats provider should not have constructor in IDL
robin-raymond Feb 23, 2017
8ef5e83
- adapter offer/answer options base class does not need constructor
robin-raymond Feb 23, 2017
094752d
- adapter offer/answer options base class does not need constructor
robin-raymond Feb 23, 2017
3e476cb
- removed constructors from IDL for certificate and candidate gathere…
robin-raymond Feb 24, 2017
d9a8130
- adapter offer/answer options base class does not need constructor
robin-raymond Feb 24, 2017
468c660
- removed constructors for IDL codec capability parameters / options …
robin-raymond Feb 24, 2017
a18c9bd
- removed constructors for IDL codec capability parameters / options …
robin-raymond Feb 24, 2017
2f0e40c
- changed capability parameters / settings to expose types to wrapper
robin-raymond Feb 24, 2017
42c8ecd
- changed capability parameters / settings to expose types to wrapper
robin-raymond Feb 24, 2017
a81b433
- changed capability parameters / settings to expose types to wrapper
robin-raymond Feb 24, 2017
acc68ac
- flexfec IDL did not contain dictionary optional
robin-raymond Feb 25, 2017
349270b
- flexfec IDL did not contain dictionary optional
robin-raymond Feb 25, 2017
07695bc
- fixed type in maxMbps in IDL
robin-raymond Feb 25, 2017
73d510d
- removed rtp priority type unknown
robin-raymond Feb 25, 2017
651a08f
- peer connection events are now read only and non constructable
robin-raymond Feb 25, 2017
5637b77
- peer connection ice candidate complete event is removed
robin-raymond Feb 25, 2017
101892d
- peer connection ice candidate complete event is removed
robin-raymond Feb 25, 2017
a13dc9b
- some adpter dictionaries were not marked with [dictionary]
robin-raymond Feb 26, 2017
5d53104
- some adpter dictionaries were not marked with [dictionary]
robin-raymond Feb 26, 2017
73d0a8e
- deete adapter media line constructors
robin-raymond Feb 26, 2017
87bc5a6
- deete adapter media line constructors
robin-raymond Feb 26, 2017
2cb278a
- constributing source IDL doesn't need JSON conversion
robin-raymond Feb 26, 2017
a7cfbdd
- constributing source IDL doesn't need JSON conversion
robin-raymond Feb 26, 2017
4146182
- rtp / rtcp transports should not have constructor in IDL
robin-raymond Feb 26, 2017
58eb70d
- rtp / rtcp transports should not have constructor in IDL
robin-raymond Feb 26, 2017
d093115
- getCertificates returns a binary list of values from DTLS transport…
robin-raymond Feb 26, 2017
fbbeb4e
- getCertificates returns a binary list of values from DTLS transport…
robin-raymond Feb 26, 2017
185921a
- selected candidate pair in ICE transport was returning wrong object…
robin-raymond Feb 26, 2017
8959c84
- selected candidate pair in ICE transport was returning wrong object…
robin-raymond Feb 26, 2017
5258efc
- removed gatherer event constructors in IDL
robin-raymond Feb 26, 2017
59a1f7c
- removed gatherer event constructors in IDL
robin-raymond Feb 26, 2017
d8203fd
- gatherer error event IDL should be getter only
robin-raymond Feb 27, 2017
3a9766c
- gatherer error event IDL should be getter only
robin-raymond Feb 27, 2017
50c21d4
- ice transport events should not have constructors
robin-raymond Feb 27, 2017
66387aa
- gatherer error event IDL should be getter only
robin-raymond Feb 27, 2017
5bd49d5
- mistaken transport type for rtcp in rtp receiver idl
robin-raymond Feb 27, 2017
8fd7539
- mistaken transport type for rtcp in rtp receiver idl
robin-raymond Feb 27, 2017
ab76f6c
- srtp sdes lifetime remaining event will now directly contain event …
robin-raymond Feb 27, 2017
f457de2
- srtp sdes lifetime remaining event will now directly contain event …
robin-raymond Feb 27, 2017
398a388
- log level and component had wrong case in IDL
robin-raymond Feb 27, 2017
07e47b9
- log level and component had wrong case in IDL
robin-raymond Feb 27, 2017
084fadb
- certificate binary list has to be put into a structure for CX
robin-raymond Feb 27, 2017
f9a79b4
- certificate binary list has to be put into a structure for CX
robin-raymond Feb 27, 2017
52cd4e1
- data transport should not have constructor in IDL
robin-raymond Feb 27, 2017
cde9b55
- data transport should not have constructor in IDL
robin-raymond Feb 27, 2017
d46ce72
- added SCTP transport listener event
robin-raymond Feb 27, 2017
0aab634
- added sctp transport listener event
robin-raymond Feb 27, 2017
bc715c2
- sctp transport listener needs to fire a listener event in IDL
robin-raymond Feb 27, 2017
f202c98
- data channel event message does not need event data message indirec…
robin-raymond Feb 27, 2017
6ced4a5
- data channel event message does not need event data message indirec…
robin-raymond Feb 27, 2017
a75229d
- data channel state changed event IDL should be renamed statechange
robin-raymond Feb 27, 2017
4f9136c
- dtmf sender was missing tone event in IDL
robin-raymond Feb 27, 2017
5956595
- dtmf sender was named incorrectly in IDL
robin-raymond Feb 27, 2017
0312a19
- dtmf sender was missing tone event in IDL
robin-raymond Feb 27, 2017
8031bce
- missing logger IDL from project file
robin-raymond Feb 27, 2017
40ed428
- added missing impl and generated IDL files to project
robin-raymond Feb 27, 2017
9e71638
- added IDL C++ glue layer implementation
robin-raymond Feb 28, 2017
462812a
- added missing exceptions that can be thrown from routines
robin-raymond Feb 28, 2017
0246352
- peer connection adapter was missing wrapper code (fixed)
robin-raymond Feb 28, 2017
73d5ae1
- native promises need to be backgrounded since they have no owner
robin-raymond Feb 28, 2017
22d4c30
- removed file that is no longer present
robin-raymond Feb 28, 2017
672df06
track list conversion needs null protection
robin-raymond Feb 28, 2017
e333287
- media devices needs subscription in wrapper
robin-raymond Feb 28, 2017
37d78a2
- added missing has routine from media stream constraints
robin-raymond Feb 28, 2017
788f784
- missed ! in wrapper that caused null return
robin-raymond Feb 28, 2017
b3f5382
- fixed crash in wrapper in media constraints for option constraints
robin-raymond Feb 28, 2017
a24dd56
- convertion routines for capability paramters was missing cast opera…
robin-raymond Feb 28, 2017
878e743
- views and maps returned from lists need to be read-only for CX
robin-raymond Feb 28, 2017
0c93206
- anyholder was holding incorrect type for media track holder
robin-raymond Feb 28, 2017
31ae350
- added missing getStats method in wrapper
robin-raymond Feb 28, 2017
bcefaa5
- removed invalid usage of promise
robin-raymond Feb 28, 2017
34e8741
- fixed C wrapper generation helper routines to compile on windows
robin-raymond Mar 22, 2017
4e3d1f9
- fixed C wrapper generation helper routines to compile on windows
robin-raymond Mar 23, 2017
fdea0ec
MediaControl idl should have been marked static
robin-raymond Mar 28, 2017
3d01505
- media control is now static
robin-raymond Mar 28, 2017
5990810
- fixed type in eventing macro
robin-raymond Apr 1, 2017
2a4b25a
Merge commit '5990810014dff6dcde2a2fbc3d4080180e6c4d5e' into Robin/1s…
robin-raymond Apr 3, 2017
19d5d10
Merge commit '4ee82046742c2b20f105e5803443c89be84673e6' into Robin/1s…
robin-raymond Apr 6, 2017
6b1c5ef
- fixed compilation issues and warnings on iOS/mac
robin-raymond Apr 6, 2017
1d0f4f5
- codec compilation of wrappers on ios/osx
robin-raymond Apr 6, 2017
6538bec
- added missing preprocessor WEBRTC_WIN
robin-raymond Apr 10, 2017
02b416d
Resolved most of the linking issues
Apr 11, 2017
e06fbf0
Added dynamic library target for ortclib-c-ios project
Apr 11, 2017
6a7b2b8
armv7 architecture is supported now
Apr 11, 2017
ab7a061
Added webrtcWrapper_ios dependency
Apr 13, 2017
c58935b
Merge branch 'master' into Robin/m54-idl
robin-raymond Apr 18, 2017
7418a4a
attempt to handle janis sdp parsing and instruduction to previosly un…
robin-raymond Apr 20, 2017
769043e
Target renamed from ortclib-c-ios-wrapper to Ortc
Apr 20, 2017
c8a0c42
- ICE candidates were not being parsed properly from SDP
robin-raymond Apr 20, 2017
f1af770
Merge commit 'afc79d1e9e45d51b2cb647f0081a4ce890fc31cd' into Robin/m5…
robin-raymond Apr 22, 2017
0061cba
Merge remote-tracking branch 'origin/releases/m54' into Robin/janis-s…
robin-raymond Apr 24, 2017
e0bf0e0
- handle bundling of transports by ensuring an offered bundled transp…
robin-raymond Apr 25, 2017
27e564b
Updated project's output and intermediate paths
Apr 26, 2017
86c7893
Added ortclib.wrapper and ortclib-c projects
May 6, 2017
84d7d31
Merge remote-tracking branch 'origin/Sergej/20170506-ortc-wrapers' in…
robin-raymond May 9, 2017
c6d0963
- fixed audio device type for win32
May 12, 2017
53b3707
Merge branch 'Sergej/20170506-ortc-wrapers' into Robin/m54-idl
May 12, 2017
8ac1512
- removed readme from build that was causing constant rebuilding of p…
robin-raymond May 14, 2017
5feb719
- selecting audio audio device - support for Android and iOS
May 18, 2017
b84bccb
Added linking flag ObjC
May 24, 2017
42cdf4f
Merge remote-tracking branch 'origin/Robin/janis-sdp-fix' into Robin/…
robin-raymond May 27, 2017
b5ecd81
- renamed winrt to winuwp
robin-raymond Jun 27, 2017
c90cda2
- BIG change of how media is routed inside engine
robin-raymond Jun 28, 2017
69f97f5
Merge remote-tracking branch 'origin/Robin/20170601-media' into relea…
robin-raymond Aug 12, 2017
b5fc112
- fixed compilation issues when merging to m58 latest
robin-raymond Aug 15, 2017
a7f58ef
- renamed rtp media engine to media engine
robin-raymond Aug 23, 2017
ff79aec
- removed unneeded media related items from receiver/sender channel
robin-raymond Aug 23, 2017
a3d534a
Sep 14, 2017
28f8428
Sep 20, 2017
4cf08f5
Sep 21, 2017
c6e1b6b
changed order of include files to fix build issue for x64 platform
vmancic Sep 21, 2017
f33cb6f
Merge remote-tracking branch 'origin/Vladimir/20170915-m61' into rele…
Sep 22, 2017
72ba8b9
Sep 25, 2017
92ca008
Resolved issue when projects generation has failed because of missing…
Sep 25, 2017
d6c20a1
Added missing lib
Sep 26, 2017
a8e50e5
Sep 27, 2017
9a0e889
Added missing reference to ortclib-cpp files
Sep 27, 2017
fc2a3be
cleaning up source code with chromium styling
robin-raymond Sep 28, 2017
77c33b2
- fixed linking issues with latest ortc lib code
robin-raymond Sep 28, 2017
8c9052c
clean-up of chromium styling warnings
robin-raymond Sep 29, 2017
08dfe23
Merge remote-tracking branch 'origin/releases/m49' into releases/m58
robin-raymond Sep 30, 2017
d471508
Merge remote-tracking branch 'origin/releases/m58' into releases/m61
robin-raymond Sep 30, 2017
f5af8d4
- missed conflict during merge
robin-raymond Sep 30, 2017
97e8e34
Merge remote-tracking branch 'origin/releases/m58' into releases/m61
robin-raymond Sep 30, 2017
f24e558
Oct 2, 2017
9e957fd
added warning and fix compile issue with missing api
robin-raymond Oct 2, 2017
830eb69
proxy subscriptions now implements template in cpp not header
robin-raymond Oct 4, 2017
9c9206b
added generated cx files to ortc_sources for is_winuwp case, also add…
vmancic Oct 6, 2017
9872477
added new paths to include_dirs in shared_library target, and additio…
vmancic Oct 6, 2017
1b140f9
fix or workaround for find_bad_constructs
vmancic Oct 11, 2017
8219e2c
For Win disabled removing clang:find_bad_constructs from config
Oct 11, 2017
3366145
Merge remote-tracking branch 'origin/Vladimir/20170915-m61' into rele…
Oct 12, 2017
bf0656a
fix for error C2491: string_t_wrapperCreate_string: definition of dll…
vmancic Oct 12, 2017
e1f40db
Merge branch 'Vladimir/20170915-m62' into releases/m62
Oct 12, 2017
49df8ae
Commented out all code realted to tracelog
Oct 13, 2017
1482b0a
added curl lib to link, and dependencies for boringssl, usrsctp, libs…
vmancic Oct 13, 2017
3eca271
Resolved more ortclib linking issues
Oct 15, 2017
fbae0c8
Merge branch 'Sergej/20171015-m62' into releases/m62
Oct 15, 2017
3adefdd
fix for curl
vmancic Oct 16, 2017
4bed933
Merge remote-tracking branch 'origin/Vladimir/20171013-m62' into rele…
Oct 16, 2017
367b8aa
fixed linker errors with subscription class
robin-raymond Oct 16, 2017
b7a2e4b
Merge remote-tracking branch 'origin/releases/m62' into releases/m62
Oct 16, 2017
c0036b2
Resolved ortclib linking issue
Oct 16, 2017
1ad9942
Updated header paths
Oct 18, 2017
bf5653f
Updated .gitignore
Oct 20, 2017
f7b62c4
Disabled pragma warnings
Oct 20, 2017
c814462
Disabled pragma warnings only for windows
Oct 20, 2017
c574a51
added userenv.lib for win32 build
vmancic Oct 20, 2017
e16adc8
Updated ortclib project files to support VS2017
Oct 26, 2017
ca9f764
Windows SDK path moved from ortclib-cpp/BUILD.gn to webrtc/build/conf…
vmancic Oct 26, 2017
8f68a98
Nov 1, 2017
78a03c2
Resolved Dispatcher linking issues
Nov 3, 2017
d1424d1
Merge remote-tracking branch 'origin/Vladimir/20171020-m62' into Serg…
Nov 3, 2017
1a8cfb2
- removed rendering componenets from ortc wrapper
Nov 3, 2017
d692055
Merge remote-tracking branch 'origin/Sergej/m62' into Sergej/m62
Nov 3, 2017
bf4a01d
BUILD.gn cleanup
Nov 4, 2017
8abb506
Resolved release build linking issues
Nov 6, 2017
02169d1
Fixed curl library paths
Nov 7, 2017
0667903
added jman file includes for eventing
robin-raymond Nov 8, 2017
f0d0904
fix for error C2491: string_t_wrapperCreate_string: definition of dll…
vmancic Nov 9, 2017
3b31207
Merge remote-tracking branch 'origin/Robin/m62-eventing' into release…
robin-raymond Nov 14, 2017
2afae62
- added git ignore for jman.h
robin-raymond Nov 15, 2017
66a99b4
Updated BUILD.gn to enable iOs building.
Nov 16, 2017
654d215
Resolved Ortc build issue for linux
Nov 17, 2017
0ae3c79
Resolved Ortc linking issues for iOS
Nov 21, 2017
9ad01b2
fix for unresolved references (IdnToAscii, IdnToUnicode)
vmancic Dec 6, 2017
9d7cc79
updated linker fleg for ortclib shared library
ivanab Dec 27, 2017
bd3ecb1
Renamed shared target from ortclib to libOrtc. Updated linking flags …
Dec 28, 2017
e0c655d
Moving cryptopp, udns, idnkit to third_party
vmancic Jan 19, 2018
5f79273
Added /EHsc compiler option for Windows win32 builds.
Jan 22, 2018
673ce74
Merge remote-tracking branch 'origin/releases/m62' into Ivana/2017122…
Jan 22, 2018
029cc1d
bug: fixed processing of candidate complete in wrapper
robin-raymond Jan 26, 2018
07875f0
Fix: OnOpen / OnClose events were not fired for wrapper / idl
robin-raymond Feb 3, 2018
bc61984
Sync chromium/build with changes to be upstreamed to google
robin-raymond Feb 13, 2018
87c2bed
Mar 2, 2018
f0732d7
fix for link error for linux x86
vmancic Mar 5, 2018
bed6b44
Merge remote-tracking branch 'origin/Vladimir/20180223_linux_x86_fixe…
vmancic Mar 7, 2018
cff1161
Mar 7, 2018
0ca980d
Merge commit 'bed6b4480eddf95066e06055f28aa80e384ca3a7' into Sergej/2…
Mar 8, 2018
301903e
_ANDROID flag replaced with ANDROID
Mar 9, 2018
ae628f0
Merge remote-tracking branch 'origin/Robin/m62-chromium-build' into r…
vmancic Mar 10, 2018
f1741d4
replaced is_target_winuwp with current_os check against "winuwp"
robin-raymond Mar 28, 2018
3d7711d
Fix for error LNK1104: cannot open file... ifaddrs-android.obj
vmancic Apr 18, 2018
f9ffe08
Merge remote-tracking branch 'origin/releases/m62' into Vladimir/test…
vmancic May 1, 2018
5ac9f0f
Merge remote-tracking branch 'origin/Vladimir/test-second-m62-chromiu…
vmancic May 1, 2018
9ca6aac
RelayOnly value on filter policy of gatherer is set wrongly
robin-raymond Sep 17, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,20 @@ ortc/internal/ortc.stats.events_win_etw.h
ortc/internal/ortc.stats.events_win.h
ortc/internal/ortc.stats.events.h
ortc/internal/ortc.stats.events.jman
ortc/internal/ortc.stats.events.jman.h
ortc/internal/ortc.stats.events_win_etw.wprp
ortc/internal/ortc.stats.events_win_etw.man
ortc/internal/ortc.events_win_etw.h
ortc/internal/ortc.events_win.h
ortc/internal/ortc.events.h
ortc/internal/ortc.events.jman
ortc/internal/ortc.events.jman.h
ortc/internal/ortc.events_win_etw.wprp
ortc/internal/ortc.events_win_etw.man
*.db
*.opendb
.vs/
ipch/
*.user
ortc/idl/wrapper/generated/
ortc/idl/wrapper/cx
1,331 changes: 1,331 additions & 0 deletions BUILD.gn

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions ortc/ICertificate.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ namespace ortc
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#pragma mark
#pragma mark IDTLSTransportTypes
#pragma mark ICertificateTypes
#pragma mark

interaction ICertificateTypes
Expand Down Expand Up @@ -82,7 +82,7 @@ namespace ortc
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#pragma mark
#pragma mark IDTLSTransport
#pragma mark ICertificate
#pragma mark

interaction ICertificate : public ICertificateTypes,
Expand Down
35 changes: 19 additions & 16 deletions ortc/IConstraints.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,22 +48,22 @@ namespace ortc

interaction IConstraints
{
ZS_DECLARE_STRUCT_PTR(ConstrainBoolean)
ZS_DECLARE_STRUCT_PTR(ConstrainBooleanParameters)
ZS_DECLARE_STRUCT_PTR(ConstrainLong)
ZS_DECLARE_STRUCT_PTR(ConstrainLongRange)
ZS_DECLARE_STRUCT_PTR(ConstrainDouble)
ZS_DECLARE_STRUCT_PTR(ConstrainDoubleRange)
ZS_DECLARE_STRUCT_PTR(ConstrainString)
ZS_DECLARE_STRUCT_PTR(ConstrainStringParameters)
ZS_DECLARE_STRUCT_PTR(StringOrStringList)

ZS_DECLARE_TYPEDEF_PTR(zsLib::LONG, Long)
ZS_DECLARE_TYPEDEF_PTR(bool, Bool)
ZS_DECLARE_TYPEDEF_PTR(double, Double)
ZS_DECLARE_TYPEDEF_PTR(String, String)

ZS_DECLARE_TYPEDEF_PTR(std::list<String>, StringList)
ZS_DECLARE_STRUCT_PTR(ConstrainBoolean);
ZS_DECLARE_STRUCT_PTR(ConstrainBooleanParameters);
ZS_DECLARE_STRUCT_PTR(ConstrainLong);
ZS_DECLARE_STRUCT_PTR(ConstrainLongRange);
ZS_DECLARE_STRUCT_PTR(ConstrainDouble);
ZS_DECLARE_STRUCT_PTR(ConstrainDoubleRange);
ZS_DECLARE_STRUCT_PTR(ConstrainString);
ZS_DECLARE_STRUCT_PTR(ConstrainStringParameters);
ZS_DECLARE_STRUCT_PTR(StringOrStringList);

ZS_DECLARE_TYPEDEF_PTR(zsLib::LONG, Long);
ZS_DECLARE_TYPEDEF_PTR(bool, Bool);
ZS_DECLARE_TYPEDEF_PTR(double, Double);
ZS_DECLARE_TYPEDEF_PTR(String, String);

ZS_DECLARE_TYPEDEF_PTR(std::list<String>, StringList);

//-------------------------------------------------------------------------
#pragma mark
Expand Down Expand Up @@ -252,6 +252,9 @@ namespace ortc

ElementPtr toDebug() const;
String hash() const;

void exact(StringList &values) const;
void ideal(StringList &values) const;
};

};
Expand Down
2 changes: 1 addition & 1 deletion ortc/IICEGatherer.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ namespace ortc
FilterPolicy_NoPrflx = (FilterPolicy_NoIPv4Prflx | FilterPolicy_NoIPv6Prflx),
FilterPolicy_NoRelay = (FilterPolicy_NoIPv4Relay | FilterPolicy_NoIPv6Relay),
FilterPolicy_NoPrivate = (FilterPolicy_NoIPv4Private | FilterPolicy_NoIPv6Private),
FilterPolicy_RelayOnly = (FilterPolicy_NoIPv4Host | FilterPolicy_NoSrflx | FilterPolicy_NoPrflx),
FilterPolicy_RelayOnly = (FilterPolicy_NoHost | FilterPolicy_NoPrivate | FilterPolicy_NoSrflx | FilterPolicy_NoPrflx),
FilterPolicy_NoCandidates = (0x7FFFFFFF)
};

Expand Down
9 changes: 5 additions & 4 deletions ortc/IICETypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,12 @@ namespace ortc

static CandidatePtr convert(GatherCandidatePtr candidate);

Candidate() {}
Candidate(const Candidate &op2) {(*this) = op2;}
Candidate();
Candidate(const Candidate &op2);
Candidate(ElementPtr elem);
~Candidate();

virtual ElementPtr createElement(const char *objectName = "candidate") const;
ElementPtr createElement(const char *objectName = "candidate") const override;

ElementPtr toDebug() const;
String hash(bool includePriorities = true) const;
Expand All @@ -213,7 +214,7 @@ namespace ortc
CandidateComplete(const CandidateComplete &op2) {(*this) = op2;}
CandidateComplete(ElementPtr elem);

virtual ElementPtr createElement(const char *objectName = "candidateComplete") const;
ElementPtr createElement(const char *objectName = "candidateComplete") const override;

ElementPtr toDebug() const;
String hash() const;
Expand Down
2 changes: 1 addition & 1 deletion ortc/IIdentity.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ namespace ortc

virtual PromiseWithResultPtr getIdentityAssertion(
const char *provider,
const char *protoocl = "default",
const char *protocol = "default",
const char *username = NULL
) throw (InvalidStateError) = 0;

Expand Down
29 changes: 21 additions & 8 deletions ortc/IMediaDevices.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,23 @@ namespace ortc

interaction IMediaDevicesTypes : public IMediaStreamTrackTypes
{
ZS_DECLARE_STRUCT_PTR(SupportedConstraints)
ZS_DECLARE_STRUCT_PTR(Device)
ZS_DECLARE_STRUCT_PTR(DeviceList)
ZS_DECLARE_STRUCT_PTR(MediaStreamTrackList)
ZS_DECLARE_STRUCT_PTR(SupportedConstraints);
ZS_DECLARE_STRUCT_PTR(Device);
ZS_DECLARE_STRUCT_PTR(DeviceList);
ZS_DECLARE_STRUCT_PTR(MediaStreamTrackList);

ZS_DECLARE_TYPEDEF_PTR(PromiseWith<MediaStreamTrackListPtr>, PromiseWithMediaStreamTrackList)
ZS_DECLARE_TYPEDEF_PTR(PromiseWith<DeviceListPtr>, PromiseWithDeviceList)
ZS_DECLARE_TYPEDEF_PTR(IMediaStreamTrackTypes::Settings, Settings);

struct SettingsList : public std::list<Settings>,
public Any
{
};

ZS_DECLARE_PTR(SettingsList);

ZS_DECLARE_TYPEDEF_PTR(zsLib::PromiseWith<MediaStreamTrackList>, PromiseWithMediaStreamTrackList);
ZS_DECLARE_TYPEDEF_PTR(zsLib::PromiseWith<DeviceList>, PromiseWithDeviceList);
ZS_DECLARE_TYPEDEF_PTR(zsLib::PromiseWith<SettingsList>, PromiseWithSettingsList);

enum DeviceKinds
{
Expand Down Expand Up @@ -86,6 +96,7 @@ namespace ortc
bool mSampleSize {false};
bool mEchoCancellation {false};
bool mLatency {false};
bool mChannelCount {false};
bool mDeviceID {false};
bool mGroupID {false};

Expand All @@ -104,8 +115,9 @@ namespace ortc
#pragma mark IMediaDevices::Device
#pragma mark

struct Device {
DeviceKinds mKind {DeviceKind_First};
struct Device
{
DeviceKinds mKind {DeviceKind_First};

String mLabel;
String mDeviceID;
Expand Down Expand Up @@ -173,6 +185,7 @@ namespace ortc
static SupportedConstraintsPtr getSupportedConstraints();

static PromiseWithDeviceListPtr enumerateDevices();
static PromiseWithSettingsListPtr enumerateDefaultModes(const char *deviceID);

static PromiseWithMediaStreamTrackListPtr getUserMedia(const Constraints &constraints = Constraints());

Expand Down
162 changes: 162 additions & 0 deletions ortc/IMediaElement.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
/*

Copyright (c) 2017, Optical Tone Ltd.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of the FreeBSD Project.

*/

#pragma once

#include <ortc/types.h>
#include <ortc/IMediaStreamTrack.h>

namespace ortc
{
ZS_DECLARE_INTERACTION_PTR(IWindowSink);
ZS_DECLARE_INTERACTION_PTR(IMediaElementTypes);

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#pragma mark
#pragma mark IWindowSink
#pragma mark

interaction IWindowSink
{
#ifdef _WIN32
#ifdef __cplusplus_winrt
static IMediaElementPtr create();
#else
static IMediaElementPtr create(HWND hwnd);
#endif // __cplusplus_winrt
#else
static IMediaElementPtr create(void *window);
#endif // _WIN32

virtual PUID getID() const = 0;
};

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#pragma mark
#pragma mark IMediaElementTypes
#pragma mark

interaction IMediaElementTypes
{
typedef std::list<IMediaStreamTrackPtr> MediaStreamTrackList;
typedef IMediaStreamTrackTypes::Kinds Kinds;
typedef IMediaStreamTrackTypes::States States;

struct MediaSink
{
String mAudioSinkID;
IWindowSinkPtr mVideoSinkWindow;
};

virtual ~IMediaElementTypes() {}
};

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#pragma mark
#pragma mark IMediaStreamTrack
#pragma mark

interaction IMediaElement : public Any,
public IMediaElementTypes
{
static ElementPtr toDebug(IMediaElementPtr object);

static IMediaElementPtr convert(AnyPtr any);

static IMediaElementPtr create(MediaSink sink);

virtual PUID getID() const = 0;

virtual IMediaStreamTrackSubscriptionPtr subscribe(IMediaElementDelegatePtr delegate) = 0;

virtual String sinkID() const = 0; // unique audio device ID delivering audio output
virtual IWindowSinkPtr sinkWindow() const = 0; // window where media is being delivered

virtual bool muted() const = 0;
virtual void muted(bool muted) = 0;
virtual bool paused() const = 0;
virtual void paused(bool paused) = 0;
virtual States readyState() const = 0;

virtual void stop() = 0;

virtual MediaStreamTrackList audioTracks() = 0;
virtual MediaStreamTrackList videoTracks() = 0;

virtual PromisePtr attach(IMediaStreamTrackPtr track) = 0;
virtual void detach(IMediaStreamTrackPtr track) = 0;
};

//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
#pragma mark
#pragma mark IMediaElementDelegate
#pragma mark

interaction IMediaElementDelegate
{
virtual ~IMediaElementDelegate() {}
};

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#pragma mark
#pragma mark IMediaElementSubscription
#pragma mark

interaction IMediaElementSubscription
{
virtual PUID getID() const = 0;

virtual void cancel() = 0;

virtual void background() = 0;
};
}

ZS_DECLARE_PROXY_BEGIN(ortc::IMediaElementDelegate)
ZS_DECLARE_PROXY_END()

ZS_DECLARE_PROXY_SUBSCRIPTIONS_BEGIN(ortc::IMediaElementDelegate, ortc::IMediaElementSubscription)
ZS_DECLARE_PROXY_SUBSCRIPTIONS_END()
Loading