Skip to content

Commit

Permalink
Adapt h265
Browse files Browse the repository at this point in the history
  • Loading branch information
littleGnAl committed Dec 21, 2023
1 parent 4dc13bf commit 37a7cd4
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 33 deletions.
10 changes: 5 additions & 5 deletions lib/src/binding/agora_h265_transcoder_event_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler {
bool handleEventInternal(
String eventName, String eventData, List<Uint8List> buffers) {
switch (eventName) {
case 'onEnableTranscode':
case 'onEnableTranscode__agora_rtc_H265_TRANSCODE_RESULT':
if (h265TranscoderObserver.onEnableTranscode == null) {
return true;
}
Expand All @@ -38,7 +38,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler {
h265TranscoderObserver.onEnableTranscode!(result);
return true;

case 'onQueryChannel':
case 'onQueryChannel__agora_rtc_H265_TRANSCODE_RESULT__const_char_ptr__const_char_ptr':
if (h265TranscoderObserver.onQueryChannel == null) {
return true;
}
Expand All @@ -58,7 +58,7 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler {
result, originChannel, transcodeChannel);
return true;

case 'onTriggerTranscode':
case 'onTriggerTranscode__agora_rtc_H265_TRANSCODE_RESULT':
if (h265TranscoderObserver.onTriggerTranscode == null) {
return true;
}
Expand All @@ -79,8 +79,8 @@ class H265TranscoderObserverWrapper implements EventLoopEventHandler {
@override
bool handleEvent(
String eventName, String eventData, List<Uint8List> buffers) {
if (!eventName.startsWith('H265TranscoderObserver')) return false;
final newEvent = eventName.replaceFirst('H265TranscoderObserver_', '');
if (!eventName.startsWith('IH265TranscoderObserver')) return false;
final newEvent = eventName.replaceFirst('IH265TranscoderObserver_', '');
if (handleEventInternal(newEvent, eventData, buffers)) {
return true;
}
Expand Down
16 changes: 8 additions & 8 deletions lib/src/binding/agora_h265_transcoder_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class H265TranscoderImpl implements H265Transcoder {
{required String token,
required String channel,
required int uid}) async {
final apiType =
'${isOverrideClassName ? className : 'H265Transcoder'}_enableTranscode';
const apiType =
'IH265Transcoder__enableTranscode__const_char_ptr__const_char_ptr__agora_rtc_uid_t';
final param =
createParams({'token': token, 'channel': channel, 'uid': uid});
final callApiResult = await irisMethodChannel.invokeMethod(
Expand All @@ -48,8 +48,8 @@ class H265TranscoderImpl implements H265Transcoder {
{required String token,
required String channel,
required int uid}) async {
final apiType =
'${isOverrideClassName ? className : 'H265Transcoder'}_queryChannel';
const apiType =
'IH265Transcoder__queryChannel__const_char_ptr__const_char_ptr__agora_rtc_uid_t';
final param =
createParams({'token': token, 'channel': channel, 'uid': uid});
final callApiResult = await irisMethodChannel.invokeMethod(
Expand All @@ -67,8 +67,8 @@ class H265TranscoderImpl implements H265Transcoder {
{required String token,
required String channel,
required int uid}) async {
final apiType =
'${isOverrideClassName ? className : 'H265Transcoder'}_triggerTranscode';
const apiType =
'IH265Transcoder__triggerTranscode__const_char_ptr__const_char_ptr__agora_rtc_uid_t';
final param =
createParams({'token': token, 'channel': channel, 'uid': uid});
final callApiResult = await irisMethodChannel.invokeMethod(
Expand All @@ -86,7 +86,7 @@ class H265TranscoderImpl implements H265Transcoder {
@override
void registerTranscoderObserver(H265TranscoderObserver observer) {
// Implementation template
// final apiType = '${isOverrideClassName ? className : 'H265Transcoder'}_registerTranscoderObserver';
// const apiType = 'IH265Transcoder__registerTranscoderObserver__agora_rtc_IH265TranscoderObserver_ptr';
// final param = createParams({// 'observer':observer// });
// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null));
// if (callApiResult.irisReturnCode < 0) {
Expand All @@ -103,7 +103,7 @@ class H265TranscoderImpl implements H265Transcoder {
@override
void unregisterTranscoderObserver(H265TranscoderObserver observer) {
// Implementation template
// final apiType = '${isOverrideClassName ? className : 'H265Transcoder'}_unregisterTranscoderObserver';
// const apiType = 'IH265Transcoder__unregisterTranscoderObserver__agora_rtc_IH265TranscoderObserver_ptr';
// final param = createParams({// 'observer':observer// });
// final callApiResult = irisMethodChannel.invokeMethod(IrisMethodCall(apiType, jsonEncode(param), buffers:null));
// if (callApiResult.irisReturnCode < 0) {
Expand Down
4 changes: 2 additions & 2 deletions lib/src/binding/agora_music_content_center_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ class MusicContentCenterImpl implements MusicContentCenter {
'musicChartId': musicChartId,
'page': page,
'pageSize': pageSize,
'jsonOption': jsonOption
if (jsonOption != null) 'jsonOption': jsonOption
});
final callApiResult = await irisMethodChannel.invokeMethod(
IrisMethodCall(apiType, jsonEncode(param), buffers: null));
Expand Down Expand Up @@ -358,7 +358,7 @@ class MusicContentCenterImpl implements MusicContentCenter {
'keyWord': keyWord,
'page': page,
'pageSize': pageSize,
'jsonOption': jsonOption
if (jsonOption != null) 'jsonOption': jsonOption
});
final callApiResult = await irisMethodChannel.invokeMethod(
IrisMethodCall(apiType, jsonEncode(param), buffers: null));
Expand Down
2 changes: 1 addition & 1 deletion lib/src/binding/agora_rtc_engine_ex_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -519,7 +519,7 @@ class RtcEngineExImpl extends RtcEngineImpl implements RtcEngineEx {
final param = createParams({
'connection': connection.toJson(),
'enabled': enabled,
'deviceName': deviceName
if (deviceName != null) 'deviceName': deviceName
});
final List<Uint8List> buffers = [];
buffers.addAll(connection.collectBufferList());
Expand Down
6 changes: 2 additions & 4 deletions lib/src/binding/agora_rtc_engine_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -299,9 +299,6 @@ class RtcEngineImpl implements RtcEngine {
}
final rm = callApiResult.data;
final result = rm['result'];
if (result < 0) {
throw AgoraRtcException(code: result);
}
}

@override
Expand Down Expand Up @@ -2842,7 +2839,8 @@ class RtcEngineImpl implements RtcEngine {
{required bool enabled, String? deviceName}) async {
final apiType =
'${isOverrideClassName ? className : 'RtcEngine'}_enableLoopbackRecording';
final param = createParams({'enabled': enabled, 'deviceName': deviceName});
final param = createParams(
{'enabled': enabled, if (deviceName != null) 'deviceName': deviceName});
final callApiResult = await irisMethodChannel.invokeMethod(
IrisMethodCall(apiType, jsonEncode(param), buffers: null));
if (callApiResult.irisReturnCode < 0) {
Expand Down
12 changes: 8 additions & 4 deletions lib/src/impl/agora_h265_transcoder_impl_override.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ class H265TranscoderImplOverride extends impl_binding.H265TranscoderImpl {
await irisMethodChannel.registerEventHandler(
ScopedEvent(
scopedKey: _observerScopedKey,
registerName: 'H265Transcoder_registerTranscoderObserver',
unregisterName: 'H265Transcoder_unregisterTranscoderObserver',
registerName:
'IH265Transcoder__registerTranscoderObserver__agora_rtc_IH265TranscoderObserver_ptr',
unregisterName:
'IH265Transcoder__unregisterTranscoderObserver__agora_rtc_IH265TranscoderObserver_ptr',
handler: observerWrapper),
jsonEncode(param));
}
Expand All @@ -34,8 +36,10 @@ class H265TranscoderImplOverride extends impl_binding.H265TranscoderImpl {
await irisMethodChannel.unregisterEventHandler(
ScopedEvent(
scopedKey: _observerScopedKey,
registerName: 'H265Transcoder_registerTranscoderObserver',
unregisterName: 'H265Transcoder_unregisterTranscoderObserver',
registerName:
'IH265Transcoder__registerTranscoderObserver__agora_rtc_IH265TranscoderObserver_ptr',
unregisterName:
'IH265Transcoder__unregisterTranscoderObserver__agora_rtc_IH265TranscoderObserver_ptr',
handler: observerWrapper),
jsonEncode(param));
}
Expand Down
18 changes: 9 additions & 9 deletions tool/terra/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ __metadata:

"@agoraio-extensions/cxx-parser@git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser":
version: 0.1.9
resolution: "@agoraio-extensions/cxx-parser@git@github.com:AgoraIO-Extensions/terra.git#workspace=cxx-parser&commit=1767ab791ed9da1c86c46b59ab10eddfeb65fc49"
resolution: "@agoraio-extensions/cxx-parser@git@github.com:AgoraIO-Extensions/terra.git#workspace=cxx-parser&commit=93340ededee1246c96d46e608dc7ec498e3cfa50"
dependencies:
glob: "npm:^10.3.4"
yaml: "npm:^2.1.3"
peerDependencies:
"@agoraio-extensions/terra-core": "*"
checksum: d6ae9a8fbbb916dfd7380279c5a0943a4c63f51bc0350ee2f9d3cb55e174bdcea5039cd8847cac7443c32cadcc962226748b26330f660689500166933dada399
checksum: 3395151169cee362d5f518515d263f490b130ad4f0f7ddd8b1b4fb0be33b21d59819a2d13f7bfc9f8ec839740cf121d74829218a53779e2ad7a1701e1b9c1e2f
languageName: node
linkType: hard

"@agoraio-extensions/terra-core@git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core":
version: 0.1.5
resolution: "@agoraio-extensions/terra-core@git@github.com:AgoraIO-Extensions/terra.git#workspace=terra-core&commit=1767ab791ed9da1c86c46b59ab10eddfeb65fc49"
resolution: "@agoraio-extensions/terra-core@git@github.com:AgoraIO-Extensions/terra.git#workspace=terra-core&commit=93340ededee1246c96d46e608dc7ec498e3cfa50"
checksum: d7113225ab004b2ff09de3c3718262925dc335f5ffb8ac2800bb96bfb2ad67a307063a425bd14654356d804586a785efe3856462e1087472463eb233a6793e44
languageName: node
linkType: hard

"@agoraio-extensions/terra-legacy-cxx-parser@git@github.com:AgoraIO-Extensions/terra-legacy-cxx-parser.git#head=main":
version: 0.1.5
resolution: "@agoraio-extensions/terra-legacy-cxx-parser@git@github.com:AgoraIO-Extensions/terra-legacy-cxx-parser.git#commit=6ad320c224e20780651e8b4ae54e43787976a87f"
resolution: "@agoraio-extensions/terra-legacy-cxx-parser@git@github.com:AgoraIO-Extensions/terra-legacy-cxx-parser.git#commit=325a181eb807d33e4b418b080b5928ae192b23ee"
dependencies:
"@agoraio-extensions/cxx-parser": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser"
"@agoraio-extensions/terra-core": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core"
Expand All @@ -38,13 +38,13 @@ __metadata:
ts-node: "npm:^10.9.1"
typescript: "npm:^5.1.6"
yaml: "npm:^2.1.3"
checksum: c424c4f346c107f1244a1c025dd4d5fe6b35cc9fa1bc04b07ed736a8c16192a41c5c9972b94cd6c27978d53f91362035ff81802ee79196be47d31fc45ceb046b
checksum: e671d7c0e5340377f490b3f0a213bf53896b026c8a9f48a54c0e593e161ef74dc4315127e110ee0ed5fe79021a16a06a10b8e6debb9af1485c0d6a20ac7e0594
languageName: node
linkType: hard

"@agoraio-extensions/terra@git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra":
version: 0.1.5
resolution: "@agoraio-extensions/terra@git@github.com:AgoraIO-Extensions/terra.git#workspace=terra&commit=1767ab791ed9da1c86c46b59ab10eddfeb65fc49"
resolution: "@agoraio-extensions/terra@git@github.com:AgoraIO-Extensions/terra.git#workspace=terra&commit=93340ededee1246c96d46e608dc7ec498e3cfa50"
dependencies:
commander: "npm:^9.4.1"
mustache: "npm:^4.2.0"
Expand All @@ -53,18 +53,18 @@ __metadata:
"@agoraio-extensions/terra-core": "*"
bin:
terra: ./bin/terra
checksum: f86bfecb341fec2016aa0f2b7f65f4fce8f0e5eeb481929cd7d99088e13bc2443ea24f8445982d56ea24cad253cfd83e81d0f98e5ffd5d3a757367905d1d2cf9
checksum: d63492c162aea0e42a39b56287fd502be9bbb92e49fb3ee6b070a4deaff6bd2568d5f96afc12af85a0f337665af385198da80133bb59283fe5bc8d5b6ef733b7
languageName: node
linkType: hard

"@agoraio-extensions/terra_shared_configs@git@github.com:AgoraIO-Extensions/terra_shared_configs.git#head=main":
version: 1.0.2
resolution: "@agoraio-extensions/terra_shared_configs@git@github.com:AgoraIO-Extensions/terra_shared_configs.git#commit=10d1ac7fe4c615051dbcf90e536419b4f71422f1"
resolution: "@agoraio-extensions/terra_shared_configs@git@github.com:AgoraIO-Extensions/terra_shared_configs.git#commit=74adee031fc39888928446c8cbb2484e81325383"
dependencies:
"@agoraio-extensions/cxx-parser": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=cxx-parser"
"@agoraio-extensions/terra-core": "git@github.com:AgoraIO-Extensions/terra.git#head=main&workspace=terra-core"
mustache: "npm:^4.2.0"
checksum: f67b38d8d3cad549eb03056bc92f9dd012705263416489f923e971dd6a540b0738fb014a706c832d7149136346d1edb06a4dd7059ef94b24ceecd1f5c871c23d
checksum: 6b5b110988dc541bbd4809e523ead7a78a8df49ced4454125f9f7fc994416834ff771ccaa5acb81b95814d85258ca0e3153bcbefbb402dc0537b997220ca5ba4
languageName: node
linkType: hard

Expand Down

0 comments on commit 37a7cd4

Please sign in to comment.