Skip to content

Commit 71cddb7

Browse files
committed
new state for broadcast stream
IDLE_ERROR, READY_ERROR, BROADCASTING_ERROR
1 parent d754ac3 commit 71cddb7

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

example/lib/main.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ class _MyAppState extends State<MyApp> {
4545
height: 720,
4646
width: 1280,
4747
child: WOWZCameraView(
48-
androidLicenseKey: "GOSK-9C47-010C-2895-D225-9FEF",
49-
iosLicenseKey: "GOSK-9C47-010C-A9B9-EB78-3FBD",
48+
androidLicenseKey: "GOSK-xxxx-xxxx-xxxx-xxxx-xxxx",
49+
iosLicenseKey: "GOSK-xxxx-xxxx-xxxx-xxxx-xxxx",
5050
controller: controller,
5151
statusCallback: (status) {
5252
print(

lib/gocoder/src/wowz_camera_view.dart

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@ part of gocoder;
22

33
const _camera_view_channel = 'flutter_wowza';
44

5-
enum BroadcastState { READY, BROADCASTING, IDLE }
5+
enum BroadcastState {
6+
READY,
7+
BROADCASTING,
8+
IDLE,
9+
IDLE_ERROR,
10+
READY_ERROR,
11+
BROADCASTING_ERROR
12+
}
613

714
WOWZBroadcastStatus wowzBroadcastStatusFromJson(String str) =>
815
WOWZBroadcastStatus.fromJson(json.decode(str));
@@ -12,23 +19,18 @@ String clientToJson(WOWZBroadcastStatus data) => json.encode(data.toJson());
1219
class WOWZBroadcastStatus {
1320
BroadcastState state;
1421
String message;
22+
bool isError = false;
1523

16-
WOWZBroadcastStatus({
17-
this.state,
18-
this.message,
19-
});
24+
WOWZBroadcastStatus({this.state, this.message});
2025

2126
factory WOWZBroadcastStatus.fromJson(Map<String, dynamic> json) =>
2227
WOWZBroadcastStatus(
23-
state: BroadcastState.values.firstWhere(
24-
(type) => type.toString() == "BroadcastState." + json["state"]),
25-
message: json["message"],
26-
);
27-
28-
Map<String, dynamic> toJson() => {
29-
"state": state.toString(),
30-
"message": message,
31-
};
28+
state: BroadcastState.values.firstWhere(
29+
(type) => type.toString() == "BroadcastState." + json["state"]),
30+
message: json["message"]);
31+
32+
Map<String, dynamic> toJson() =>
33+
{"state": state.toString(), "message": message};
3234
}
3335

3436
enum WOWZMediaConfig {
@@ -163,8 +165,22 @@ class _WOWZCameraViewState extends State<WOWZCameraView> {
163165
wowzBroadcastStatusFromJson(call.arguments));
164166
break;
165167
case _broadcastError:
166-
widget.broadcastStatusCallback(
167-
wowzBroadcastStatusFromJson(call.arguments));
168+
final status = wowzBroadcastStatusFromJson(call.arguments);
169+
switch (status.state) {
170+
case BroadcastState.IDLE:
171+
status.state = BroadcastState.IDLE_ERROR;
172+
break;
173+
case BroadcastState.BROADCASTING:
174+
status.state = BroadcastState.BROADCASTING_ERROR;
175+
break;
176+
case BroadcastState.READY:
177+
status.state = BroadcastState.READY_ERROR;
178+
break;
179+
default:
180+
status.state = BroadcastState.BROADCASTING_ERROR;
181+
break;
182+
}
183+
widget.broadcastStatusCallback(status);
168184
break;
169185
case _wowzStatus:
170186
widget.statusCallback(WOWZStatus(call.arguments));

0 commit comments

Comments
 (0)