Package com.castlabs.android.hybridads
Class HybridAdTrackRendererBuilder
java.lang.Object
com.castlabs.android.hybridads.HybridAdTrackRendererBuilder
- All Implemented Interfaces:
TrackRendererPlugin.TrackRendererBuilder
public class HybridAdTrackRendererBuilder
extends Object
implements TrackRendererPlugin.TrackRendererBuilder
A TrackRendererBuilder that creates renderers for hybrid ads.
These renderers use a native decoder to decode ad content.
-
Constructor Summary
ConstructorsConstructorDescriptionHybridAdTrackRendererBuilder(com.castlabs.android.tunerhal.aidl.IPlayerService tunerhalPlayerService, int playerServiceInstance, long splicePts, long adDuration, HybridAdView view, boolean doesVideoUseSharedMemory, boolean doesAudioUseSharedMemory, int videoSharedMemorySizeInBytes, int audioSharedMemorySizeInBytes) Creates a new HybridAdTrackRendererBuilder. -
Method Summary
Modifier and TypeMethodDescriptioncreateRenderer(TrackRendererPlugin.Type type, PlayerController playerController, CasConfiguration configuration) createRenderer(TrackRendererPlugin.Type type, PlayerController playerController, DrmConfiguration configuration) com.google.android.exoplayer2.RendererCapabilitiesgetRendererCapabilities(Context context, TrackRendererPlugin.Type type, DrmConfiguration drmConfiguration) booleanbooleanisTypeSupported(TrackRendererPlugin.Type type, CasConfiguration configuration) booleanisTypeSupported(TrackRendererPlugin.Type type, DrmConfiguration configuration)
-
Constructor Details
-
HybridAdTrackRendererBuilder
public HybridAdTrackRendererBuilder(com.castlabs.android.tunerhal.aidl.IPlayerService tunerhalPlayerService, int playerServiceInstance, long splicePts, long adDuration, HybridAdView view, boolean doesVideoUseSharedMemory, boolean doesAudioUseSharedMemory, int videoSharedMemorySizeInBytes, int audioSharedMemorySizeInBytes) Creates a new HybridAdTrackRendererBuilder.- Parameters:
tunerhalPlayerService- The player service to use for ad playback.playerServiceInstance- The instance of the player service.splicePts- The presentation timestamp (PTS) at which the ad should be spliced into the main content.adDuration- The duration of the ad in microseconds.view- The HybridAdView that will display the ad.doesVideoUseSharedMemory- Whether the video renderer should use shared memory.doesAudioUseSharedMemory- Whether the audio renderer should use shared memory.videoSharedMemorySizeInBytes- The size of the shared memory for video in bytes.audioSharedMemorySizeInBytes- The size of the shared memory for audio in bytes.
-
-
Method Details
-
isTypeSupported
public boolean isTypeSupported(@NonNull TrackRendererPlugin.Type type, @Nullable DrmConfiguration configuration) - Specified by:
isTypeSupportedin interfaceTrackRendererPlugin.TrackRendererBuilder
-
isTypeSupported
public boolean isTypeSupported(@NonNull TrackRendererPlugin.Type type, @Nullable CasConfiguration configuration) - Specified by:
isTypeSupportedin interfaceTrackRendererPlugin.TrackRendererBuilder
-
isDefault
public boolean isDefault()- Specified by:
isDefaultin interfaceTrackRendererPlugin.TrackRendererBuilder
-
getRendererCapabilities
@Nullable public com.google.android.exoplayer2.RendererCapabilities getRendererCapabilities(@NonNull Context context, @NonNull TrackRendererPlugin.Type type, @Nullable DrmConfiguration drmConfiguration) - Specified by:
getRendererCapabilitiesin interfaceTrackRendererPlugin.TrackRendererBuilder
-
createRenderer
@Nullable public TrackRendererPlugin.TrackRendererContainer createRenderer(@NonNull TrackRendererPlugin.Type type, @NonNull PlayerController playerController, @Nullable DrmConfiguration configuration) throws CastlabsPlayerException - Specified by:
createRendererin interfaceTrackRendererPlugin.TrackRendererBuilder- Throws:
CastlabsPlayerException
-
createRenderer
@RequiresApi(api=26) @Nullable public TrackRendererPlugin.TrackRendererContainer createRenderer(@NonNull TrackRendererPlugin.Type type, @NonNull PlayerController playerController, @Nullable CasConfiguration configuration) throws CastlabsPlayerException - Specified by:
createRendererin interfaceTrackRendererPlugin.TrackRendererBuilder- Throws:
CastlabsPlayerException
-