Browse Source

qt: use common type alias for shared input item

pull/162/head
Fatih Uzunoglu 3 years ago
committed by Jean-Baptiste Kempf
parent
commit
5978c4e79d
  1. 4
      modules/gui/qt/medialibrary/medialib.cpp
  2. 10
      modules/gui/qt/network/networkdevicemodel.cpp
  3. 11
      modules/gui/qt/network/networkdevicemodel.hpp
  4. 18
      modules/gui/qt/network/networkmediamodel.cpp
  5. 11
      modules/gui/qt/network/networkmediamodel.hpp
  6. 2
      modules/gui/qt/network/standardpathmodel.cpp
  7. 8
      modules/gui/qt/network/standardpathmodel.hpp
  8. 9
      modules/gui/qt/player/player_controller.cpp
  9. 7
      modules/gui/qt/player/player_controller_p.hpp
  10. 11
      modules/gui/qt/playlist/media.hpp

4
modules/gui/qt/medialibrary/medialib.cpp

@ -78,7 +78,7 @@ static void convertMLItemToPlaylistMedias(vlc_medialibrary_t* ml, const MLItemId
if (itemId.type == VLC_ML_PARENT_UNKNOWN)
{
vlc::playlist::InputItemPtr item( vlc_ml_get_input_item( ml, itemId.id ), false );
SharedInputItem item( vlc_ml_get_input_item( ml, itemId.id ), false );
if (item)
medias.push_back(vlc::playlist::Media(item.get(), options));
}
@ -92,7 +92,7 @@ static void convertMLItemToPlaylistMedias(vlc_medialibrary_t* ml, const MLItemId
auto mediaRange = ml_range_iterate<vlc_ml_media_t>( media_list );
std::transform(mediaRange.begin(), mediaRange.end(), std::back_inserter(medias), [&](vlc_ml_media_t& m) {
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( ml, m.i_id ), false);
SharedInputItem item(vlc_ml_get_input_item( ml, m.i_id ), false);
return vlc::playlist::Media(item.get(), options);
});
}

10
modules/gui/qt/network/networkdevicemodel.cpp

@ -322,7 +322,7 @@ void NetworkDeviceModel::ListenerCb::onItemRemoved( MediaTreePtr tree, input_ite
if (node != &tree->root)
return;
std::vector<InputItemPtr> itemList;
std::vector<SharedInputItem> itemList;
itemList.reserve( count );
for ( auto i = 0u; i < count; ++i )
@ -387,7 +387,7 @@ void NetworkDeviceModel::refreshDeviceList(MediaSourcePtr mediaSource,
});
}
std::vector<InputItemPtr> itemList;
std::vector<SharedInputItem> itemList;
itemList.reserve(count);
@ -404,14 +404,14 @@ void NetworkDeviceModel::refreshDeviceList(MediaSourcePtr mediaSource,
}, Qt::QueuedConnection);
}
void NetworkDeviceModel::addItems(const std::vector<InputItemPtr> & inputList,
void NetworkDeviceModel::addItems(const std::vector<SharedInputItem> & inputList,
const MediaSourcePtr & mediaSource)
{
// NOTE: We need to check duplicates when we're not sorting by name. Otherwise it's handled via
// the 'name' sorting functions.
bool checkDuplicate = (m_sortCriteria != "name");
for (const InputItemPtr & inputItem : inputList)
for (const SharedInputItem & inputItem : inputList)
{
NetworkDeviceItem item;
@ -453,7 +453,7 @@ void NetworkDeviceModel::addItems(const std::vector<InputItemPtr> & inputList,
item.mediaSource = mediaSource;
item.inputItem = InputItemPtr(inputItem);
item.inputItem = SharedInputItem(inputItem);
char * artwork = input_item_GetArtworkURL(inputItem.get());
if (artwork)

11
modules/gui/qt/network/networkdevicemodel.hpp

@ -27,10 +27,10 @@
#include <QUrl>
#include <vlc_media_source.h>
#include <vlc_cxx_helpers.hpp>
#include "mediatreelistener.hpp"
#include "util/cliplistmodel.hpp"
#include "util/shared_input_item.hpp"
#include <memory>
@ -88,11 +88,6 @@ public: // Declarations
using MediaTreePtr = vlc_shared_data_ptr_type(vlc_media_tree_t,
vlc_media_tree_Hold,
vlc_media_tree_Release);
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
public:
NetworkDeviceModel( QObject* parent = nullptr );
@ -134,7 +129,7 @@ private:
void refreshDeviceList(MediaSourcePtr mediaSource, input_item_node_t* const children[], size_t count , bool clear);
void addItems(const std::vector<InputItemPtr> & inputList, const MediaSourcePtr & mediaSource);
void addItems(const std::vector<SharedInputItem> & inputList, const MediaSourcePtr & mediaSource);
void eraseItem(std::vector<NetworkDeviceItem>::iterator & it, int index, int count);
@ -179,7 +174,7 @@ struct NetworkDeviceItem
QString protocol;
NetworkDeviceModel::ItemType type;
NetworkDeviceModel::MediaSourcePtr mediaSource;
NetworkDeviceModel::InputItemPtr inputItem;
SharedInputItem inputItem;
QString artwork;
};

18
modules/gui/qt/network/networkmediamodel.cpp

@ -421,7 +421,7 @@ bool NetworkMediaModel::initializeMediaSources()
input_item_node_t* parent = nullptr;
vlc_media_tree_Lock(tree);
vlc_media_tree_PreparseCancel( libvlc, this );
std::vector<InputItemPtr> itemList;
std::vector<SharedInputItem> itemList;
m_path = {QVariant::fromValue(PathNode(m_treeItem, m_name))};
if (vlc_media_tree_Find( tree, m_treeItem.media.get(), &mediaNode, &parent))
{
@ -459,7 +459,7 @@ bool NetworkMediaModel::initializeMediaSources()
void NetworkMediaModel::ListenerCb::onItemCleared( MediaTreePtr tree, input_item_node_t* node)
{
InputItemPtr p_node { node->p_item };
SharedInputItem p_node { node->p_item };
QMetaObject::invokeMethod(model, [model=model, p_node = std::move(p_node), tree = std::move(tree)]() {
if (p_node != model->m_treeItem.media)
return;
@ -473,7 +473,7 @@ void NetworkMediaModel::ListenerCb::onItemCleared( MediaTreePtr tree, input_item
if (!found)
return;
std::vector<InputItemPtr> itemList;
std::vector<SharedInputItem> itemList;
itemList.reserve( static_cast<size_t>(res->i_children) );
for (int i = 0; i < res->i_children; i++)
itemList.emplace_back(res->pp_children[i]->p_item);
@ -486,8 +486,8 @@ void NetworkMediaModel::ListenerCb::onItemAdded( MediaTreePtr tree, input_item_n
input_item_node_t *const children[],
size_t count )
{
InputItemPtr p_parent { parent->p_item };
std::vector<InputItemPtr> itemList;
SharedInputItem p_parent { parent->p_item };
std::vector<SharedInputItem> itemList;
itemList.reserve( count );
for (size_t i = 0; i < count; i++)
itemList.emplace_back(children[i]->p_item);
@ -502,12 +502,12 @@ void NetworkMediaModel::ListenerCb::onItemRemoved( MediaTreePtr, input_item_node
input_item_node_t *const children[],
size_t count )
{
std::vector<InputItemPtr> itemList;
std::vector<SharedInputItem> itemList;
itemList.reserve( count );
for ( auto i = 0u; i < count; ++i )
itemList.emplace_back( children[i]->p_item );
InputItemPtr p_node { node->p_item };
SharedInputItem p_node { node->p_item };
QMetaObject::invokeMethod(model, [model=model, p_node=std::move(p_node), itemList=std::move(itemList)]() {
if (p_node != model->m_treeItem.media)
return;
@ -543,7 +543,7 @@ void NetworkMediaModel::ListenerCb::onItemRemoved( MediaTreePtr, input_item_node
void NetworkMediaModel::ListenerCb::onItemPreparseEnded(MediaTreePtr, input_item_node_t* node, enum input_item_preparse_status )
{
model->m_preparseSem.release();
InputItemPtr p_node { node->p_item };
SharedInputItem p_node { node->p_item };
QMetaObject::invokeMethod(model, [model=model, p_node=std::move(p_node)]() {
if (p_node != model->m_treeItem.media)
return;
@ -554,7 +554,7 @@ void NetworkMediaModel::ListenerCb::onItemPreparseEnded(MediaTreePtr, input_item
}
void NetworkMediaModel::refreshMediaList( MediaTreePtr tree,
std::vector<InputItemPtr> children,
std::vector<SharedInputItem> children,
bool clear )
{
std::vector<Item> items;

11
modules/gui/qt/network/networkmediamodel.hpp

@ -29,7 +29,8 @@
#include <vlc_cxx_helpers.hpp>
#include "mediatreelistener.hpp"
#include <maininterface/mainctx.hpp>
#include "maininterface/mainctx.hpp"
#include "util/shared_input_item.hpp"
#include <QSemaphore>
#include <QDateTime>
@ -43,10 +44,6 @@ using MediaTreePtr = vlc_shared_data_ptr_type(vlc_media_tree_t,
vlc_media_tree_Hold,
vlc_media_tree_Release);
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
class NetworkTreeItem
{
Q_GADGET
@ -77,7 +74,7 @@ public:
}
MediaTreePtr tree;
InputItemPtr media;
SharedInputItem media;
};
class PathNode
@ -218,7 +215,7 @@ private:
bool initializeMediaSources();
void refreshMediaList(MediaTreePtr tree, std::vector<InputItemPtr> children , bool clear);
void refreshMediaList(MediaTreePtr tree, std::vector<SharedInputItem> children , bool clear);
bool canBeIndexed(const QUrl& url , ItemType itemType );

2
modules/gui/qt/network/standardpathmodel.cpp

@ -149,7 +149,7 @@ void StandardPathModel::addItem(const QString & path, const QString & name, cons
input_item_t * inputItem = input_item_NewDirectory(qtu(url.toString()), qtu(name), ITEM_LOCAL);
item.inputItem = InputItemPtr(inputItem, false);
item.inputItem = SharedInputItem(inputItem, false);
vlc_media_tree_t * tree = vlc_media_tree_New();

8
modules/gui/qt/network/standardpathmodel.hpp

@ -27,9 +27,9 @@
// VLC includes
#include <vlc_media_source.h>
#include <vlc_cxx_helpers.hpp>
#include "networkdevicemodel.hpp"
#include "util/cliplistmodel.hpp"
#include "util/shared_input_item.hpp"
// Qt includes
#include <QAbstractListModel>
@ -56,10 +56,6 @@ public: // Enums
};
public: // Declarations
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
using MediaTreePtr = vlc_shared_data_ptr_type(vlc_media_tree_t,
vlc_media_tree_Hold,
vlc_media_tree_Release);
@ -95,7 +91,7 @@ struct StandardPathItem
NetworkDeviceModel::ItemType type;
StandardPathModel::InputItemPtr inputItem;
SharedInputItem inputItem;
StandardPathModel::MediaTreePtr tree;
QUrl artwork;

9
modules/gui/qt/player/player_controller.cpp

@ -23,6 +23,7 @@
#include "dialogs/extensions/extensions_manager.hpp"
#include "player_controller.hpp"
#include "player_controller_p.hpp"
#include "util/shared_input_item.hpp"
#include <vlc_actions.h> /* ACTION_ID */
#include <vlc_url.h> /* vlc_uri_decode */
@ -43,10 +44,6 @@
//PlayerController private implementation
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
using EsIdPtr = vlc_shared_data_ptr_type(vlc_es_id_t,
vlc_es_id_Hold,
vlc_es_id_Release);
@ -284,7 +281,7 @@ static void on_player_current_media_changed(vlc_player_t *, input_item_t *new_m
return;
}
InputItemPtr newMediaPtr = InputItemPtr( new_media );
SharedInputItem newMediaPtr = SharedInputItem( new_media );
that->callAsync([that,newMediaPtr] () {
PlayerController* q = that->q_func();
that->UpdateName( newMediaPtr.get() );
@ -762,7 +759,7 @@ static void on_player_media_meta_changed(vlc_player_t *, input_item_t *media, vo
PlayerControllerPrivate* that = static_cast<PlayerControllerPrivate*>(data);
msg_Dbg( that->p_intf, "on_player_item_meta_changed");
InputItemPtr mediaPtr(media);
SharedInputItem mediaPtr(media);
//call on object thread
that->callAsync([that,mediaPtr] () {
that->UpdateName(mediaPtr.get());

7
modules/gui/qt/player/player_controller_p.hpp

@ -23,6 +23,7 @@
#include "util/variables.hpp"
#include "input_models.hpp"
#include "util/varchoicemodel.hpp"
#include "util/shared_input_item.hpp"
#include <QTimer>
#include <QUrl>
@ -85,11 +86,7 @@ public:
QString m_highResolutionTime { "00:00:00:00" };
unsigned m_smpteTimerRequestCount = 0;
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
InputItemPtr m_currentItem;
SharedInputItem m_currentItem;
bool m_canRestorePlayback = false;
int m_capabilities = 0;

11
modules/gui/qt/playlist/media.hpp

@ -19,20 +19,15 @@
#ifndef VLC_QT_MEDIA_HPP_
#define VLC_QT_MEDIA_HPP_
#include <vlc_cxx_helpers.hpp>
#include <vlc_common.h>
#include <vlc_input_item.h>
#include <QString>
#include <QStringList>
#include "util/qt_dirs.hpp"
#include "util/shared_input_item.hpp"
namespace vlc {
namespace playlist {
using InputItemPtr = vlc_shared_data_ptr_type(input_item_t,
input_item_Hold,
input_item_Release);
class Media
{
public:
@ -97,7 +92,7 @@ public:
}
private:
InputItemPtr ptr;
SharedInputItem ptr;
};
} // namespace playlist

Loading…
Cancel
Save