renaming mediaplayer attribute force software decoding

This commit is contained in:
brunoherbelin
2021-03-29 23:17:16 +02:00
parent 4c7fb94616
commit 010166e7b0
4 changed files with 16 additions and 14 deletions

View File

@@ -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_
} }
} }

View File

@@ -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 {

View File

@@ -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);

View File

@@ -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");