Skip to content

Commit 1590159

Browse files
committed
refactor: Remove postponed transcoding and audio mixing options from individual recording scenarios and update related documentation
1 parent d7a1e90 commit 1590159

File tree

8 files changed

+201
-1062
lines changed

8 files changed

+201
-1062
lines changed

agora-rest-client-core/src/main/java/io/agora/rest/services/cloudrecording/api/req/StartResourceReq.java

Lines changed: 0 additions & 441 deletions
Large diffs are not rendered by default.

agora-rest-client-core/src/main/java/io/agora/rest/services/cloudrecording/scenario/individual/IndividualScenario.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,17 @@ public abstract class IndividualScenario {
1818
* @since v0.4.0
1919
* @post After receiving the resource ID, call the start API to start cloud
2020
* recording.
21-
* @param cname The name of the channel to be recorded.
22-
* @param uid The user ID used by the cloud recording service in the
23-
* RTC channel to identify the recording service in the
24-
* channel.
25-
* @param enablePostpone Whether to postpone the recording.
26-
* - true: Postpone the recording.
27-
* - false: Start the recording immediately.
28-
* @param clientRequest The request body. See
29-
* {@link AcquireIndividualResourceClientReq} for
30-
* details.
21+
* @param cname The name of the channel to be recorded.
22+
* @param uid The user ID used by the cloud recording service in the
23+
* RTC channel to identify the recording service in the
24+
* channel.
25+
* @param clientRequest The request body. See
26+
* {@link AcquireIndividualResourceClientReq} for
27+
* details.
3128
* @return Returns the acquire resource result. See
3229
* {@link AcquireResourceRes} for details.
3330
*/
34-
public abstract Mono<AcquireResourceRes> acquire(String cname, String uid, boolean enablePostpone,
31+
public abstract Mono<AcquireResourceRes> acquire(String cname, String uid,
3532
AcquireIndividualResourceClientReq clientRequest);
3633

3734
/**

agora-rest-client-core/src/main/java/io/agora/rest/services/cloudrecording/scenario/individual/IndividualScenarioImpl.java

Lines changed: 120 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -19,146 +19,135 @@
1919

2020
public class IndividualScenarioImpl extends IndividualScenario {
2121

22-
private final AcquireResourceAPI acquireResourceAPI;
22+
private final AcquireResourceAPI acquireResourceAPI;
2323

24-
private final QueryResourceAPI queryResourceAPI;
24+
private final QueryResourceAPI queryResourceAPI;
2525

26-
private final StartResourceAPI startResourceAPI;
26+
private final StartResourceAPI startResourceAPI;
2727

28-
private final UpdateResourceAPI updateResourceAPI;
28+
private final UpdateResourceAPI updateResourceAPI;
2929

30-
private final StopResourceAPI stopResourceAPI;
30+
private final StopResourceAPI stopResourceAPI;
3131

32-
public IndividualScenarioImpl(AcquireResourceAPI acquireResourceAPI,
33-
QueryResourceAPI queryResourceAPI,
34-
StartResourceAPI startResourceAPI,
35-
UpdateResourceAPI updateResourceAPI,
36-
StopResourceAPI stopResourceAPI) {
37-
this.acquireResourceAPI = acquireResourceAPI;
38-
this.queryResourceAPI = queryResourceAPI;
39-
this.startResourceAPI = startResourceAPI;
40-
this.updateResourceAPI = updateResourceAPI;
41-
this.stopResourceAPI = stopResourceAPI;
42-
}
32+
public IndividualScenarioImpl(AcquireResourceAPI acquireResourceAPI,
33+
QueryResourceAPI queryResourceAPI,
34+
StartResourceAPI startResourceAPI,
35+
UpdateResourceAPI updateResourceAPI,
36+
StopResourceAPI stopResourceAPI) {
37+
this.acquireResourceAPI = acquireResourceAPI;
38+
this.queryResourceAPI = queryResourceAPI;
39+
this.startResourceAPI = startResourceAPI;
40+
this.updateResourceAPI = updateResourceAPI;
41+
this.stopResourceAPI = stopResourceAPI;
42+
}
43+
44+
@Override
45+
public Mono<AcquireResourceRes> acquire(String cname, String uid,
46+
AcquireIndividualResourceClientReq clientRequest) {
47+
48+
StartResourceReq.StartClientRequest startParameter = null;
49+
if (clientRequest.getStartParameter() != null) {
50+
startParameter = StartResourceReq.StartClientRequest.builder()
51+
.token(clientRequest.getStartParameter().getToken())
52+
.storageConfig(clientRequest.getStartParameter()
53+
.getStorageConfig())
54+
.recordingConfig(clientRequest.getStartParameter()
55+
.getRecordingConfig())
56+
.recordingFileConfig(clientRequest.getStartParameter()
57+
.getRecordingFileConfig())
58+
.snapshotConfig(clientRequest.getStartParameter()
59+
.getSnapshotConfig())
60+
.build();
61+
}
62+
63+
AcquireResourceReq req = AcquireResourceReq.builder()
64+
.cname(cname)
65+
.uid(uid)
66+
.clientRequest(AcquireResourceReq.ClientRequest.builder()
67+
.scene(0)
68+
.resourceExpiredHour(clientRequest.getResourceExpiredHour())
69+
.regionAffinity(clientRequest.getRegionAffinity())
70+
.excludeResourceIds(clientRequest.getExcludeResourceIds())
71+
.startParameter(startParameter)
72+
.build())
73+
.build();
74+
75+
return this.acquireResourceAPI.handle(req);
76+
}
4377

44-
@Override
45-
public Mono<AcquireResourceRes> acquire(String cname, String uid, boolean enablePostpone,
46-
AcquireIndividualResourceClientReq clientRequest) {
47-
int scene = 0;
78+
@Override
79+
public Mono<StartResourceRes> start(String cname, String uid, String resourceId,
80+
StartIndividualRecordingClientReq clientRequest) {
81+
return this.startResourceAPI.handle(resourceId, CloudRecordingModeEnum.INDIVIDUAL, StartResourceReq
82+
.builder()
83+
.cname(cname)
84+
.uid(uid)
85+
.clientRequest(StartResourceReq.StartClientRequest.builder()
86+
.token(clientRequest.getToken())
87+
.storageConfig(clientRequest.getStorageConfig())
88+
.recordingConfig(clientRequest.getRecordingConfig())
89+
.recordingFileConfig(clientRequest.getRecordingFileConfig())
90+
.snapshotConfig(clientRequest.getSnapshotConfig())
91+
.build())
92+
.build());
93+
}
4894

49-
if (enablePostpone) {
50-
scene = 2;
95+
@Override
96+
public Mono<QueryIndividualRecordingResourceRes> query(String resourceId, String sid) {
97+
return this.queryResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL)
98+
.handle((res, sink) -> {
99+
sink.next(QueryIndividualRecordingResourceRes.builder()
100+
.cname(res.getCname())
101+
.uid(res.getUid())
102+
.resourceId(res.getResourceId())
103+
.sid(res.getSid())
104+
.serverResponse(res.getQueryIndividualRecordingServerResponse())
105+
.build());
106+
107+
sink.complete();
108+
});
51109
}
52110

53-
StartResourceReq.StartClientRequest startParameter = null;
54-
if (clientRequest.getStartParameter() != null) {
55-
startParameter = StartResourceReq.StartClientRequest.builder()
56-
.token(clientRequest.getStartParameter().getToken())
57-
.storageConfig(clientRequest.getStartParameter()
58-
.getStorageConfig())
59-
.recordingConfig(clientRequest.getStartParameter()
60-
.getRecordingConfig())
61-
.recordingFileConfig(clientRequest.getStartParameter()
62-
.getRecordingFileConfig())
63-
.snapshotConfig(clientRequest.getStartParameter()
64-
.getSnapshotConfig())
65-
.appsCollection(clientRequest.getStartParameter()
66-
.getAppsCollection())
67-
.transcodeOptions(clientRequest.getStartParameter()
68-
.getTranscodeOptions())
69-
.build();
111+
@Override
112+
public Mono<QueryIndividualRecordingVideoScreenshotResourceRes> queryVideoScreenshot(String resourceId,
113+
String sid) {
114+
return this.queryResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL)
115+
.handle((res, sink) -> {
116+
sink.next(QueryIndividualRecordingVideoScreenshotResourceRes.builder()
117+
.cname(res.getCname())
118+
.uid(res.getUid())
119+
.resourceId(res.getResourceId())
120+
.sid(res.getSid())
121+
.serverResponse(res
122+
.getQueryIndividualVideoScreenshotServerResponse())
123+
.build());
124+
125+
sink.complete();
126+
});
70127
}
71128

72-
AcquireResourceReq req = AcquireResourceReq.builder()
73-
.cname(cname)
74-
.uid(uid)
75-
.clientRequest(AcquireResourceReq.ClientRequest.builder()
76-
.scene(scene)
77-
.resourceExpiredHour(clientRequest.getResourceExpiredHour())
78-
.regionAffinity(clientRequest.getRegionAffinity())
79-
.excludeResourceIds(clientRequest.getExcludeResourceIds())
80-
.startParameter(startParameter)
81-
.build())
82-
.build();
83-
84-
return this.acquireResourceAPI.handle(req);
85-
}
86-
87-
@Override
88-
public Mono<StartResourceRes> start(String cname, String uid, String resourceId,
89-
StartIndividualRecordingClientReq clientRequest) {
90-
return this.startResourceAPI.handle(resourceId, CloudRecordingModeEnum.INDIVIDUAL, StartResourceReq
91-
.builder()
92-
.cname(cname)
93-
.uid(uid)
94-
.clientRequest(StartResourceReq.StartClientRequest.builder()
95-
.token(clientRequest.getToken())
96-
.storageConfig(clientRequest.getStorageConfig())
97-
.recordingConfig(clientRequest.getRecordingConfig())
98-
.recordingFileConfig(clientRequest.getRecordingFileConfig())
99-
.snapshotConfig(clientRequest.getSnapshotConfig())
100-
.appsCollection(clientRequest.getAppsCollection())
101-
.transcodeOptions(clientRequest.getTranscodeOptions())
102-
.build())
103-
.build());
104-
}
105-
106-
@Override
107-
public Mono<QueryIndividualRecordingResourceRes> query(String resourceId, String sid) {
108-
return this.queryResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL)
109-
.handle((res, sink) -> {
110-
sink.next(QueryIndividualRecordingResourceRes.builder()
111-
.cname(res.getCname())
112-
.uid(res.getUid())
113-
.resourceId(res.getResourceId())
114-
.sid(res.getSid())
115-
.serverResponse(res.getQueryIndividualRecordingServerResponse())
116-
.build());
117-
118-
sink.complete();
119-
});
120-
}
121-
122-
@Override
123-
public Mono<QueryIndividualRecordingVideoScreenshotResourceRes> queryVideoScreenshot(String resourceId,
124-
String sid) {
125-
return this.queryResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL)
126-
.handle((res, sink) -> {
127-
sink.next(QueryIndividualRecordingVideoScreenshotResourceRes.builder()
128-
.cname(res.getCname())
129-
.uid(res.getUid())
130-
.resourceId(res.getResourceId())
131-
.sid(res.getSid())
132-
.serverResponse(res
133-
.getQueryIndividualVideoScreenshotServerResponse())
134-
.build());
135-
136-
sink.complete();
137-
});
138-
}
139-
140-
@Override
141-
public Mono<UpdateResourceRes> update(String cname, String uid, String resourceId, String sid,
142-
UpdateIndividualRecordingResourceClientReq clientRequest) {
143-
return this.updateResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL,
144-
UpdateResourceReq.builder()
145-
.cname(cname)
146-
.uid(uid)
147-
.clientRequest(UpdateResourceReq.ClientRequest.builder()
148-
.streamSubscribe(clientRequest.getStreamSubscribe())
149-
.build())
150-
.build());
151-
}
152-
153-
@Override
154-
public Mono<StopResourceRes> stop(String cname, String uid, String resourceId, String sid, boolean asyncStop) {
155-
return this.stopResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL,
156-
StopResourceReq.builder()
157-
.cname(cname)
158-
.uid(uid)
159-
.clientRequest(StopResourceReq.StopClientRequest.builder()
160-
.asyncStop(asyncStop)
161-
.build())
162-
.build());
163-
}
129+
@Override
130+
public Mono<UpdateResourceRes> update(String cname, String uid, String resourceId, String sid,
131+
UpdateIndividualRecordingResourceClientReq clientRequest) {
132+
return this.updateResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL,
133+
UpdateResourceReq.builder()
134+
.cname(cname)
135+
.uid(uid)
136+
.clientRequest(UpdateResourceReq.ClientRequest.builder()
137+
.streamSubscribe(clientRequest.getStreamSubscribe())
138+
.build())
139+
.build());
140+
}
141+
142+
@Override
143+
public Mono<StopResourceRes> stop(String cname, String uid, String resourceId, String sid, boolean asyncStop) {
144+
return this.stopResourceAPI.handle(resourceId, sid, CloudRecordingModeEnum.INDIVIDUAL,
145+
StopResourceReq.builder()
146+
.cname(cname)
147+
.uid(uid)
148+
.clientRequest(StopResourceReq.StopClientRequest.builder()
149+
.asyncStop(asyncStop)
150+
.build())
151+
.build());
152+
}
164153
}

0 commit comments

Comments
 (0)