mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-13 11:19:58 +01:00
renaming mediaplayer attribute force software decoding
This commit is contained in:
@@ -35,7 +35,7 @@ MediaPlayer::MediaPlayer()
|
|||||||
failed_ = false;
|
failed_ = false;
|
||||||
seeking_ = false;
|
seeking_ = false;
|
||||||
enabled_ = true;
|
enabled_ = true;
|
||||||
gpu_disabled_ = false;
|
force_software_decoding_ = false;
|
||||||
rate_ = 1.0;
|
rate_ = 1.0;
|
||||||
position_ = GST_CLOCK_TIME_NONE;
|
position_ = GST_CLOCK_TIME_NONE;
|
||||||
desired_state_ = GST_STATE_PAUSED;
|
desired_state_ = GST_STATE_PAUSED;
|
||||||
@@ -207,6 +207,8 @@ void MediaPlayer::execute_open()
|
|||||||
// " uridecodebin uri=file:///path_to_file/filename.mp4 ! videoconvert ! appsink "
|
// " uridecodebin uri=file:///path_to_file/filename.mp4 ! videoconvert ! appsink "
|
||||||
// equivalent to gst-launch-1.0 uridecodebin uri=file:///path_to_file/filename.mp4 ! videoconvert ! ximagesink
|
// equivalent to gst-launch-1.0 uridecodebin uri=file:///path_to_file/filename.mp4 ! videoconvert ! ximagesink
|
||||||
string description = "uridecodebin name=decoder uri=" + uri_ + " ! ";
|
string description = "uridecodebin name=decoder uri=" + uri_ + " ! ";
|
||||||
|
// string description = "uridecodebin name=decoder uri=" + uri_ + " decoder. ! ";
|
||||||
|
// description += "audioconvert ! autoaudiosink decoder. ! ";
|
||||||
|
|
||||||
// video deinterlacing method
|
// video deinterlacing method
|
||||||
// tomsmocomp (0) – Motion Adaptive: Motion Search
|
// tomsmocomp (0) – Motion Adaptive: Motion Search
|
||||||
@@ -257,7 +259,7 @@ void MediaPlayer::execute_open()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// setup uridecodebin
|
// setup uridecodebin
|
||||||
if (gpu_disabled_) {
|
if (force_software_decoding_) {
|
||||||
g_object_set (G_OBJECT (gst_bin_get_by_name (GST_BIN (pipeline_), "decoder")), "force-sw-decoders", true, NULL);
|
g_object_set (G_OBJECT (gst_bin_get_by_name (GST_BIN (pipeline_), "decoder")), "force-sw-decoders", true, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,22 +464,22 @@ bool MediaPlayer::isImage() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool MediaPlayer::gpuDisabled()
|
bool MediaPlayer::softwareDecodingForced()
|
||||||
{
|
{
|
||||||
return gpu_disabled_;
|
return force_software_decoding_;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MediaPlayer::setGpuDisabled(bool on)
|
void MediaPlayer::setSoftwareDecodingForced(bool on)
|
||||||
{
|
{
|
||||||
bool need_reload = gpu_disabled_ != on;
|
bool need_reload = force_software_decoding_ != on;
|
||||||
|
|
||||||
// set parameter
|
// set parameter
|
||||||
gpu_disabled_ = on;
|
force_software_decoding_ = on;
|
||||||
|
|
||||||
// pipeline already running and changing state requires reload
|
// pipeline already running and changing state requires reload
|
||||||
if (pipeline_!= nullptr && need_reload) {
|
if (pipeline_!= nullptr && need_reload) {
|
||||||
|
|
||||||
// TODO reload with gpu_disabled
|
// TODO reload with force_software_decoding_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -170,8 +170,8 @@ public:
|
|||||||
* */
|
* */
|
||||||
void setLoop(LoopMode mode);
|
void setLoop(LoopMode mode);
|
||||||
|
|
||||||
bool gpuDisabled();
|
bool softwareDecodingForced();
|
||||||
void setGpuDisabled(bool on);
|
void setSoftwareDecodingForced(bool on);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Seek to next frame when paused
|
* Seek to next frame when paused
|
||||||
@@ -278,7 +278,7 @@ private:
|
|||||||
std::atomic<bool> failed_;
|
std::atomic<bool> failed_;
|
||||||
bool seeking_;
|
bool seeking_;
|
||||||
bool enabled_;
|
bool enabled_;
|
||||||
bool gpu_disabled_;
|
bool force_software_decoding_;
|
||||||
|
|
||||||
// fps counter
|
// fps counter
|
||||||
struct TimeCounter {
|
struct TimeCounter {
|
||||||
|
|||||||
@@ -419,8 +419,8 @@ void SessionLoader::visit(MediaPlayer &n)
|
|||||||
n.setLoop( (MediaPlayer::LoopMode) loop);
|
n.setLoop( (MediaPlayer::LoopMode) loop);
|
||||||
|
|
||||||
bool gpudisable = false;
|
bool gpudisable = false;
|
||||||
mediaplayerNode->QueryBoolAttribute("gpudisabled", &gpudisable);
|
mediaplayerNode->QueryBoolAttribute("software_decoding", &gpudisable);
|
||||||
n.setGpuDisabled(gpudisable);
|
n.setSoftwareDecodingForced(gpudisable);
|
||||||
|
|
||||||
bool play = true;
|
bool play = true;
|
||||||
mediaplayerNode->QueryBoolAttribute("play", &play);
|
mediaplayerNode->QueryBoolAttribute("play", &play);
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ void SessionVisitor::visit(MediaPlayer &n)
|
|||||||
newelement->SetAttribute("play", n.isPlaying());
|
newelement->SetAttribute("play", n.isPlaying());
|
||||||
newelement->SetAttribute("loop", (int) n.loop());
|
newelement->SetAttribute("loop", (int) n.loop());
|
||||||
newelement->SetAttribute("speed", n.playSpeed());
|
newelement->SetAttribute("speed", n.playSpeed());
|
||||||
newelement->SetAttribute("gpudisabled", n.gpuDisabled());
|
newelement->SetAttribute("software_decoding", n.softwareDecodingForced());
|
||||||
|
|
||||||
// timeline
|
// timeline
|
||||||
XMLElement *timelineelement = xmlDoc_->NewElement("Timeline");
|
XMLElement *timelineelement = xmlDoc_->NewElement("Timeline");
|
||||||
|
|||||||
Reference in New Issue
Block a user