diff --git a/MediaPlayer.cpp b/MediaPlayer.cpp index 52a99ab..42e5291 100644 --- a/MediaPlayer.cpp +++ b/MediaPlayer.cpp @@ -35,7 +35,7 @@ MediaPlayer::MediaPlayer() failed_ = false; seeking_ = false; enabled_ = true; - gpu_disabled_ = false; + force_software_decoding_ = false; rate_ = 1.0; position_ = GST_CLOCK_TIME_NONE; desired_state_ = GST_STATE_PAUSED; @@ -207,6 +207,8 @@ void MediaPlayer::execute_open() // " 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 string description = "uridecodebin name=decoder uri=" + uri_ + " ! "; +// string description = "uridecodebin name=decoder uri=" + uri_ + " decoder. ! "; +// description += "audioconvert ! autoaudiosink decoder. ! "; // video deinterlacing method // tomsmocomp (0) – Motion Adaptive: Motion Search @@ -257,7 +259,7 @@ void MediaPlayer::execute_open() } // 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); } @@ -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 - gpu_disabled_ = on; + force_software_decoding_ = on; // pipeline already running and changing state requires reload if (pipeline_!= nullptr && need_reload) { - // TODO reload with gpu_disabled + // TODO reload with force_software_decoding_ } } diff --git a/MediaPlayer.h b/MediaPlayer.h index d913bad..0d178f4 100644 --- a/MediaPlayer.h +++ b/MediaPlayer.h @@ -170,8 +170,8 @@ public: * */ void setLoop(LoopMode mode); - bool gpuDisabled(); - void setGpuDisabled(bool on); + bool softwareDecodingForced(); + void setSoftwareDecodingForced(bool on); /** * Seek to next frame when paused @@ -278,7 +278,7 @@ private: std::atomic failed_; bool seeking_; bool enabled_; - bool gpu_disabled_; + bool force_software_decoding_; // fps counter struct TimeCounter { diff --git a/SessionCreator.cpp b/SessionCreator.cpp index d6ca723..1cd49b1 100644 --- a/SessionCreator.cpp +++ b/SessionCreator.cpp @@ -419,8 +419,8 @@ void SessionLoader::visit(MediaPlayer &n) n.setLoop( (MediaPlayer::LoopMode) loop); bool gpudisable = false; - mediaplayerNode->QueryBoolAttribute("gpudisabled", &gpudisable); - n.setGpuDisabled(gpudisable); + mediaplayerNode->QueryBoolAttribute("software_decoding", &gpudisable); + n.setSoftwareDecodingForced(gpudisable); bool play = true; mediaplayerNode->QueryBoolAttribute("play", &play); diff --git a/SessionVisitor.cpp b/SessionVisitor.cpp index 56d66b1..7e1b812 100644 --- a/SessionVisitor.cpp +++ b/SessionVisitor.cpp @@ -217,7 +217,7 @@ void SessionVisitor::visit(MediaPlayer &n) newelement->SetAttribute("play", n.isPlaying()); newelement->SetAttribute("loop", (int) n.loop()); newelement->SetAttribute("speed", n.playSpeed()); - newelement->SetAttribute("gpudisabled", n.gpuDisabled()); + newelement->SetAttribute("software_decoding", n.softwareDecodingForced()); // timeline XMLElement *timelineelement = xmlDoc_->NewElement("Timeline");