Skip to content

Commit

Permalink
fix: add back 3.5.0 API
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewjl-mux committed Jan 29, 2024
1 parent a140564 commit 8de2082
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 14 deletions.
1 change: 1 addition & 0 deletions MUXSDKStats/MUXSDKStats/MUXSDKPlayerBinding.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ typedef NS_ENUM(NSUInteger, MUXSDKViewOrientation) {
- (BOOL)setAutomaticErrorTracking:(BOOL)automaticErrorTracking;
- (BOOL)setAutomaticVideoChange:(BOOL)automaticVideoChange;
- (void)dispatchError:(NSString *)code withMessage:(NSString *)message;
- (void)dispatchError:(NSString *)code withMessage:(NSString *)message withErrorContext:(NSString *)errorContext;
- (void)didTriggerManualVideoChange;

#pragma clang diagnostic pop
Expand Down
22 changes: 8 additions & 14 deletions MUXSDKStats/MUXSDKStats/MUXSDKPlayerBinding.m
Original file line number Diff line number Diff line change
Expand Up @@ -889,29 +889,23 @@ - (void)dispatchTimeUpdateEvent:(CMTime)time {
[MUXSDKCore dispatchEvent:event forPlayer:_name];
}

- (void)dispatchError {
if (!_automaticErrorTracking) {
return;
}
if (![self isPlayerOK]) {
return;
}
[self checkVideoData];
MUXSDKPlayerData *playerData = [self getPlayerData];
MUXSDKErrorEvent *event = [[MUXSDKErrorEvent alloc] init];
[event setPlayerData:playerData];
[MUXSDKCore dispatchEvent:event forPlayer:_name];
_state = MUXSDKPlayerStateError;
- (void) dispatchError:(nonnull NSString *)code withMessage:(nonnull NSString *)message {
[self dispatchError:code withMessage:message withErrorContext:nil];
}

- (void) dispatchError:(nonnull NSString *)code withMessage:(nonnull NSString *)message {
- (void) dispatchError:(nonnull NSString *)code
withMessage:(nonnull NSString *)message
withErrorContext:(NSString *)errorContext {
if (![self isPlayerOK]) {
return;
}
[self checkVideoData];
MUXSDKPlayerData *playerData = [self getPlayerData];
[playerData setPlayerErrorCode:code];
[playerData setPlayerErrorMessage:message];
if (errorContext) {
[playerData setPlayerErrorContext:errorContext];
}
MUXSDKErrorEvent *event = [[MUXSDKErrorEvent alloc] init];
[event setPlayerData:playerData];
[MUXSDKCore dispatchEvent:event forPlayer:_name];
Expand Down
28 changes: 28 additions & 0 deletions MUXSDKStats/MUXSDKStatsTests/MUXSDKPlayerBindingTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,34 @@ - (void)testAVPlayerBindingAutomaticErrorTrackingEnabled {

}

- (void)testAVPlayerViewControllerBindingErrorMetadata {
NSString *name = @"awesome-player";
MUXSDKAVPlayerViewControllerBinding *binding = [self setupViewControllerPlayerBinding:name
softwareName:@"TestSoftware"
softwareVersion:@"0.1.0"];

[binding dispatchError:@"1" withMessage:@"message" withErrorContext:@"context"];

XCTAssertEqual(5, [MUXSDKCore eventsCountForPlayer:name]);
id<MUXSDKEventTyping> event = [MUXSDKCore eventAtIndex:4 forPlayer:name];
XCTAssertEqual([event getType], MUXSDKPlaybackEventErrorEventType);

MUXSDKPlaybackEvent *playbackEvent = (MUXSDKPlaybackEvent *)event;
XCTAssertEqual(
playbackEvent.playerData.playerErrorCode,
@"1"
);
XCTAssertEqual(
playbackEvent.playerData.playerErrorMessage,
@"message"
);
XCTAssertEqual(
playbackEvent.playerData.playerErrorContext,
@"context"
);
}


- (void)testAVPlayerBindingAutomaticErrorTrackingDisabled {
NSString *name = @"awesome-player";
MUXSDKAVPlayerBinding *binding = [self setupAVPlayerBinding:name
Expand Down

0 comments on commit 8de2082

Please sign in to comment.