mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-11 18:34:58 +01:00
Bugfix change device source resolution
This commit is contained in:
@@ -384,10 +384,13 @@ void DeviceSource::setDevice(const std::string &devicename)
|
|||||||
|
|
||||||
pipeline << " ! videoconvert";
|
pipeline << " ! videoconvert";
|
||||||
|
|
||||||
|
dettach();
|
||||||
|
|
||||||
// open gstreamer
|
// open gstreamer
|
||||||
stream_->open( pipeline.str(), best.width, best.height);
|
stream_->open( pipeline.str(), best.width, best.height);
|
||||||
stream_->play(true);
|
stream_->play(true);
|
||||||
|
|
||||||
|
|
||||||
// will be ready after init and one frame rendered
|
// will be ready after init and one frame rendered
|
||||||
ready_ = false;
|
ready_ = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -425,6 +425,13 @@ void Source::render()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Source::dettach()
|
||||||
|
{
|
||||||
|
// replace renderbuffer_
|
||||||
|
if (renderbuffer_)
|
||||||
|
delete renderbuffer_;
|
||||||
|
renderbuffer_ = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void Source::attach(FrameBuffer *renderbuffer)
|
void Source::attach(FrameBuffer *renderbuffer)
|
||||||
{
|
{
|
||||||
|
|||||||
1
Source.h
1
Source.h
@@ -246,6 +246,7 @@ protected:
|
|||||||
// NB: rendershader_ is applied at render()
|
// NB: rendershader_ is applied at render()
|
||||||
FrameBuffer *renderbuffer_;
|
FrameBuffer *renderbuffer_;
|
||||||
void attach(FrameBuffer *renderbuffer);
|
void attach(FrameBuffer *renderbuffer);
|
||||||
|
void dettach() ;
|
||||||
|
|
||||||
// the rendersurface draws the renderbuffer in the scene
|
// the rendersurface draws the renderbuffer in the scene
|
||||||
// It is associated to the rendershader for mixing effects
|
// It is associated to the rendershader for mixing effects
|
||||||
|
|||||||
Reference in New Issue
Block a user