@@ -2,7 +2,14 @@ part of gocoder;
22
33const _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
714WOWZBroadcastStatus wowzBroadcastStatusFromJson (String str) =>
815 WOWZBroadcastStatus .fromJson (json.decode (str));
@@ -12,23 +19,18 @@ String clientToJson(WOWZBroadcastStatus data) => json.encode(data.toJson());
1219class 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
3436enum 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