mirror of https://github.com/odrling/Aegisub
Make the video provider owned solely by ThreadedFrameSource rather than in a shared_ptr stored in several places
Originally committed to SVN as r5967.
This commit is contained in:
parent
59fdab5fe7
commit
8a7f4038c1
|
@ -55,7 +55,7 @@ class ThreadedFrameSource : public wxThread {
|
|||
/// Subtitles provider
|
||||
std::auto_ptr<SubtitlesProvider> provider;
|
||||
/// Video provider
|
||||
std::tr1::shared_ptr<VideoProvider> videoProvider;
|
||||
std::auto_ptr<VideoProvider> videoProvider;
|
||||
/// Event handler to send FrameReady events to
|
||||
wxEvtHandler *parent;
|
||||
|
||||
|
@ -102,7 +102,8 @@ public:
|
|||
/// @brief raw Get raw frame without subtitles
|
||||
std::tr1::shared_ptr<AegiVideoFrame> GetFrame(int frame, double time, bool raw = false);
|
||||
|
||||
std::tr1::shared_ptr<VideoProvider> GetVideoProvider() const { return videoProvider; }
|
||||
/// Get a reference to the video provider this is using
|
||||
VideoProvider *GetVideoProvider() const { return videoProvider.get(); }
|
||||
|
||||
/// @brief Constructor
|
||||
/// @param videoFileName File to open
|
||||
|
|
|
@ -122,8 +122,8 @@ void VideoContext::Reset() {
|
|||
videoName.clear();
|
||||
|
||||
// Remove provider
|
||||
videoProvider.reset();
|
||||
provider.reset();
|
||||
videoProvider = 0;
|
||||
}
|
||||
|
||||
void VideoContext::SetContext(agi::Context *context) {
|
||||
|
|
|
@ -78,7 +78,7 @@ class VideoContext : public wxEvtHandler {
|
|||
agi::Context *context;
|
||||
|
||||
/// DOCME
|
||||
std::tr1::shared_ptr<VideoProvider> videoProvider;
|
||||
VideoProvider *videoProvider;
|
||||
|
||||
/// DOCME
|
||||
std::auto_ptr<ThreadedFrameSource> provider;
|
||||
|
@ -151,7 +151,7 @@ public:
|
|||
void SetContext(agi::Context *context);
|
||||
|
||||
/// @brief Get the video provider used for the currently open video
|
||||
VideoProvider *GetProvider() const { return videoProvider.get(); }
|
||||
VideoProvider *GetProvider() const { return videoProvider; }
|
||||
std::tr1::shared_ptr<AegiVideoFrame> GetFrame(int n, bool raw = false);
|
||||
void GetFrameAsync(int n);
|
||||
|
||||
|
|
Loading…
Reference in New Issue