Shaka Player Embedded
Classes | Public Member Functions | List of all members
shaka::media::SdlManualVideoRenderer Class Reference

#include <sdl_video_renderer.h>

Inheritance diagram for shaka::media::SdlManualVideoRenderer:
shaka::media::VideoRenderer shaka::media::Renderer shaka::media::SdlThreadVideoRenderer

Classes

class  Impl
 

Public Member Functions

 SdlManualVideoRenderer (SDL_Renderer *renderer=nullptr)
 
 ~SdlManualVideoRenderer () override
 
void SetRenderer (SDL_Renderer *renderer)
 
SDL_Renderer * GetRenderer () const
 
double Render (const SDL_Rect *region=nullptr)
 
void SetPlayer (const MediaPlayer *player) override
 
void Attach (const DecodedStream *stream) override
 
void Detach () override
 
struct VideoPlaybackQuality VideoPlaybackQuality () const override
 
bool SetVideoFillMode (VideoFillMode mode) override
 
- Public Member Functions inherited from shaka::media::Renderer
 Renderer ()
 
virtual ~ Renderer ()
 
 Renderer (const Renderer &)=delete
 
Rendereroperator= (const Renderer &)=delete
 
 Renderer (Renderer &&)=delete
 
Rendereroperator= (Renderer &&)=delete
 

Detailed Description

Defines a video renderer that renders frames to the given SDL window when specified by the app. The app is expected to periodically call Render to render the frame. This allows the app to draw the frames as part of their normal render loop.

Definition at line 38 of file sdl_video_renderer.h.

Constructor & Destructor Documentation

§ SdlManualVideoRenderer()

shaka::media::SdlManualVideoRenderer::SdlManualVideoRenderer ( SDL_Renderer *  renderer = nullptr)

Creates a new renderer that renders using the given renderer object.

Parameters
rendererThe renderer object used to create textures. If not given, apps must call SetRenderer before calling Render.

Definition at line 125 of file sdl_video_renderer.cc.

§ ~SdlManualVideoRenderer()

shaka::media::SdlManualVideoRenderer::~SdlManualVideoRenderer ( )
override

Definition at line 127 of file sdl_video_renderer.cc.

Member Function Documentation

§ Attach()

void shaka::media::SdlManualVideoRenderer::Attach ( const DecodedStream stream)
overridevirtual

Attaches to the given stream. This object will now pull full-frames from the given stream to play content. The stream will live as long as this object, or until a call to Detach.

Parameters
streamThe stream to pull frames from.

Implements shaka::media::Renderer.

Definition at line 143 of file sdl_video_renderer.cc.

§ Detach()

void shaka::media::SdlManualVideoRenderer::Detach ( )
overridevirtual

Detaches playback from the current stream. The current stream will no longer be used to play content.

Implements shaka::media::Renderer.

Definition at line 146 of file sdl_video_renderer.cc.

§ GetRenderer()

SDL_Renderer * shaka::media::SdlManualVideoRenderer::GetRenderer ( ) const
Returns
The current renderer used to draw frames.

Definition at line 132 of file sdl_video_renderer.cc.

§ Render()

double shaka::media::SdlManualVideoRenderer::Render ( const SDL_Rect *  region = nullptr)

Renders the current video frame to the given sub-region of the current renderer.

Parameters
regionThe region to draw the video to. If not given, video will take up the entire window.
Returns
The suggested delay, in seconds, before the next call to Render; this uses the framerate and current time to suggest the next delay.

Definition at line 136 of file sdl_video_renderer.cc.

§ SetPlayer()

void shaka::media::SdlManualVideoRenderer::SetPlayer ( const MediaPlayer player)
overridevirtual

Sets the MediaPlayer that is controlling this renderer. This will be used by the Renderer to query the current time and playback state.

Parameters
playerThe MediaPlayer instance controlling this object.

Implements shaka::media::Renderer.

Definition at line 140 of file sdl_video_renderer.cc.

§ SetRenderer()

void shaka::media::SdlManualVideoRenderer::SetRenderer ( SDL_Renderer *  renderer)

Sets the renderer used to create textures. Changing the renderer during playback causes performance loss since internally-cached textures are invalidated. It is assumed this renderer will live as long as this object or to another call to SetRenderer.

Parameters
rendererThe renderer used to create textures.

Definition at line 129 of file sdl_video_renderer.cc.

§ SetVideoFillMode()

bool shaka::media::SdlManualVideoRenderer::SetVideoFillMode ( VideoFillMode  mode)
overridevirtual

§ VideoPlaybackQuality()

VideoPlaybackQuality shaka::media::SdlManualVideoRenderer::VideoPlaybackQuality ( ) const
overridevirtual

The documentation for this class was generated from the following files: