TheWidlarzGroup / react-native-video

A <Video /> component for react-native
https://docs.thewidlarzgroup.com/react-native-video/
MIT License
7.21k stars 2.9k forks source link

[BUG]: Showing black screen while playing DRM content on Airplay supported devices #3988

Closed ttnshubham closed 2 months ago

ttnshubham commented 4 months ago

Version

6.1.1

What platforms are you having the problem on?

iOS

System Version

iOS 17

On what device are you experiencing the issue?

Real device

Architecture

Old architecture

What happened?

A bug happened!

Apple TV or Airplay-supported TV are showing a black screen while playing DRM content on Airplay after some time.

Reproduction

repository link

Reproduction

Steps to reproduce this bug are:

1- Play DRM content it will play on app 2- Start playing on Airplay 3- After some time Airplay supported tv starts showing black screen (Apple TV, MacBook, LG TV, Samsung TV).

ttnshubham commented 4 months ago

@freeboub @YangJonghun can you guys help?

YangJonghun commented 4 months ago

Need more clue. This can happen for variety of reasons.

dgocoder commented 3 months ago

I am experiencing the same thing. Airplay doesn't work for me at all with DRM content. It works on device playing the drm content however over airplay it does not. Error is the following:

{ error: 
   { localizedRecoverySuggestion: 'Check your DRM config.',
     code: 4,
     domain: 'RCTVideo',
     localizedDescription: 'Error obtaining license.',
     localizedFailureReason: 'No spc received.' },
  target: 2705 }

I have tried with another player like bitmovin and airplay works with that player.

License policy on drm token allows airplay as well.

const licensePolicy = {
    policy_version: 2,
    playback_true: {
      persistent: true,
      license_duration: 86400,
      rental_duration: 259200,
      playback_duration: 259200,
      allowed_track_types: "ALL",
    },
    security_policy: [
      {
        track_type: "ALL",
        ...(widevineLvl1 && {
          widevine: {
            security_level: 1,
            required_hdcp_version: "HDCP_V1",
            required_cgms_flags: "COPY_NEVER",
            disable_analog_output: false,
          },
        }),
        fairplay: {
          hdcp_enforcement: 1,
          allow_airplay: true,
          allow_av_adapter: true,
        },
      },
    ],
  };

Happy to provide whatever information is needed to help solve this issue. @YangJonghun

DRM Provider is pallycon. Their sample repo using react native video: https://github.com/inka-pallycon/pallycon-multidrm-react-native-sample

github-actions[bot] commented 2 months ago

This issue is stale because it has been open for 30 days with no activity. If there won't be any activity in the next 14 days, this issue will be closed automatically.

github-actions[bot] commented 2 months ago

This issue was closed because it has been inactive for 14 days since being marked as stale.