Bugfix change device source resolution

This commit is contained in:
Bruno
2021-05-25 09:08:51 +02:00
parent a936ab6851
commit 6ebcf49758
3 changed files with 11 additions and 0 deletions

View File

@@ -384,10 +384,13 @@ void DeviceSource::setDevice(const std::string &devicename)
pipeline << " ! videoconvert";
dettach();
// open gstreamer
stream_->open( pipeline.str(), best.width, best.height);
stream_->play(true);
// will be ready after init and one frame rendered
ready_ = false;
}

View File

@@ -425,6 +425,13 @@ void Source::render()
}
}
void Source::dettach()
{
// replace renderbuffer_
if (renderbuffer_)
delete renderbuffer_;
renderbuffer_ = nullptr;
}
void Source::attach(FrameBuffer *renderbuffer)
{

View File

@@ -246,6 +246,7 @@ protected:
// NB: rendershader_ is applied at render()
FrameBuffer *renderbuffer_;
void attach(FrameBuffer *renderbuffer);
void dettach() ;
// the rendersurface draws the renderbuffer in the scene
// It is associated to the rendershader for mixing effects