43 #ifndef FILMSTRO_FFMPEG_FFMPEGVIDEOCOMPONENT_H_INCLUDED
44 #define FILMSTRO_FFMPEG_FFMPEGVIDEOCOMPONENT_H_INCLUDED
46 class FFmpegVideoSource;
63 void paint (juce::Graphics& g)
override;
72 void videoSizeChanged (
const int width,
const int height,
const AVPixelFormat)
override;
82 juce::String formatTimeCode (
const double tc);
85 juce::WeakReference<FFmpegVideoReader> videoSource;
87 const AVFrame* currentFrame;
89 juce::Image frameBuffer;
void setVideoReader(FFmpegVideoReader *source)
Set a video source for the component.
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:129
void resized() override
Callback when the component is resized.
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:66
void displayNewFrame(const AVFrame *) override
callback from FFmpegVideoReader to display a new frame
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:113
FFmpegVideoComponent()
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:54
Reads a ffmpeg video file
Definition: filmstro_ffmpeg_FFmpegVideoReader.h:55
void paint(juce::Graphics &g) override
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:98
void videoSizeChanged(const int width, const int height, const AVPixelFormat) override
This is called whenever the size changed, so a framebuffer can be resized.
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:123
virtual ~FFmpegVideoComponent()
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:62
FFmpegVideoReader * getVideoReader() const
Get the video source for the component.
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:142
Definition: filmstro_ffmpeg_FFmpegVideoListener.h:44
void timerCallback() override
triggers repaint on message thread
Definition: filmstro_ffmpeg_FFmpegVideoComponent.cpp:90
Definition: filmstro_ffmpeg_FFmpegVideoScaler.h:44
Component to display a video read by FFmpegVideoReader
Definition: filmstro_ffmpeg_FFmpegVideoComponent.h:52