[vlmc-devel] Use named media players

Rohit Yadav bhaisaab at apache.org
Sat Feb 8 19:25:05 CET 2014


Hi Tony,

Thanks for your interest. Anyone of the VLMC team will announce when
we'll have our debian builds working (again). For now you may clone
the repo and try to build on Linux, or wait till we figure out
building and packaging again. Patches welcome, as always!

Regards.

PS. JFYI, the project was unmaintained for a very long time and it's
only recently Hugo have been working on it again and most of us barely
get free time during weekends even.


On Sat, Feb 8, 2014 at 11:33 PM, Tony Walker Arts
<tony at tonywalkerarts.org.uk> wrote:
> I would like to contribute to the VLMC project as a beta tester. I have old
> 15 years experience editing video. I have used Final Cut Pro. Adobe
> Premiere, Media 100 & Avid.
>
> I can test VLMC on Linux. I am using Elementary OS Luna (Ubuntu).
>
> Best wishes, Tony
> --
>
>
> On 8 February 2014 17:48, Hugo Beauzée-Luyssen <git at videolan.org> wrote:
>>
>> vlmc | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Sat Feb
>> 8 15:51:07 2014 +0200| [00b286e02115523887904b3b43072119058734b2] |
>> committer: Hugo Beauzée-Luyssen
>>
>> Use named media players
>>
>> >
>> > http://git.videolan.org/gitweb.cgi/vlmc.git/?a=commit;h=00b286e02115523887904b3b43072119058734b2
>> ---
>>
>>  src/LibVLCpp/VLCMediaPlayer.cpp  |   28 ++++++++++++++++++++++++----
>>  src/LibVLCpp/VLCMediaPlayer.h    |    6 +++++-
>>  src/Media/Transcoder.cpp         |    2 +-
>>  src/Metadata/MetaDataManager.cpp |    2 +-
>>  src/Renderer/GenericRenderer.cpp |    2 +-
>>  src/Settings/SettingValue.cpp    |    2 +-
>>  src/Workflow/ClipWorkflow.cpp    |    2 ++
>>  7 files changed, 35 insertions(+), 9 deletions(-)
>>
>> diff --git a/src/LibVLCpp/VLCMediaPlayer.cpp
>> b/src/LibVLCpp/VLCMediaPlayer.cpp
>> index c0b8520..580746d 100644
>> --- a/src/LibVLCpp/VLCMediaPlayer.cpp
>> +++ b/src/LibVLCpp/VLCMediaPlayer.cpp
>> @@ -29,7 +29,8 @@
>>
>>  using namespace LibVLCpp;
>>
>> -MediaPlayer::MediaPlayer() : m_media( NULL )
>> +MediaPlayer::MediaPlayer()
>> +    : m_media( NULL )
>>  {
>>      m_internalPtr = libvlc_media_player_new(
>> LibVLCpp::Instance::getInstance()->getInternalPtr() );
>>      // Initialize the event manager
>> @@ -37,7 +38,19 @@ MediaPlayer::MediaPlayer() : m_media( NULL )
>>      registerEvents();
>>  }
>>
>> -MediaPlayer::MediaPlayer( Media* media ) : m_media( media )
>> +MediaPlayer::MediaPlayer( const QString& name )
>> +    : m_name( name )
>> +    , m_media( NULL )
>> +{
>> +    m_internalPtr = libvlc_media_player_new(
>> LibVLCpp::Instance::getInstance()->getInternalPtr() );
>> +    // Initialize the event manager
>> +    p_em = libvlc_media_player_event_manager( m_internalPtr );
>> +    registerEvents();
>> +}
>> +
>> +MediaPlayer::MediaPlayer( const QString& name, Media* media )
>> +    : m_name( name )
>> +    , m_media( media )
>>  {
>>      m_internalPtr = libvlc_media_player_new_from_media(
>> media->getInternalPtr() );
>>
>> @@ -120,12 +133,14 @@ MediaPlayer::callbacks( const libvlc_event_t* event,
>> void* ptr )
>>  {
>>      Q_ASSERT_X( event->type >= libvlc_MediaPlayerMediaChanged &&
>>                  event->type < libvlc_MediaListItemAdded, "event
>> callback", "Only libvlc_MediaPlayer* events are supported" );
>> +
>> +    MediaPlayer* self = reinterpret_cast<MediaPlayer*>( ptr );
>> +
>>      if (event->type != libvlc_MediaPlayerPositionChanged &&
>>              event->type != libvlc_MediaPlayerTimeChanged)
>>      {
>> -        qDebug() << ptr << libvlc_event_type_name(event->type);
>> +        qDebug() << self->m_name << "Event received:" <<
>> libvlc_event_type_name(event->type);
>>      }
>> -    MediaPlayer* self = reinterpret_cast<MediaPlayer*>( ptr );
>>
>>      self->checkForWaitedEvents( event );
>>
>> @@ -384,3 +399,8 @@ MediaPlayer::waitForEvent( unsigned long
>> timeoutDuration )
>>          return Timeout;
>>      return ( found ? Success : Canceled );
>>  }
>> +
>> +void MediaPlayer::setName(const QString &name)
>> +{
>> +    m_name = name;
>> +}
>> diff --git a/src/LibVLCpp/VLCMediaPlayer.h b/src/LibVLCpp/VLCMediaPlayer.h
>> index 8f6c442..9004d50 100644
>> --- a/src/LibVLCpp/VLCMediaPlayer.h
>> +++ b/src/LibVLCpp/VLCMediaPlayer.h
>> @@ -51,7 +51,8 @@ namespace   LibVLCpp
>>          typedef bool (*CheckEventCallback)(const MediaPlayer*, const
>> libvlc_event_t*);
>>
>>          MediaPlayer();
>> -        MediaPlayer( Media* media );
>> +        MediaPlayer(const QString &name);
>> +        MediaPlayer(const QString &name, Media* media );
>>          ~MediaPlayer();
>>          void                                play();
>>          void                                pause();
>> @@ -133,12 +134,15 @@ namespace   LibVLCpp
>>           */
>>          MediaPlayer::EventWaitResult        waitForEvent( unsigned long
>> timeout = ULONG_MAX );
>>
>> +        void                                setName( const QString& name
>> );
>> +
>>      private:
>>          static void                         callbacks( const
>> libvlc_event_t* event, void* self );
>>          void                                registerEvents();
>>          void                                checkForWaitedEvents( const
>> libvlc_event_t* event );
>>
>>      private:
>> +        QString                             m_name;
>>          libvlc_event_manager_t*             p_em;
>>          Media*                              m_media;
>>
>> diff --git a/src/Media/Transcoder.cpp b/src/Media/Transcoder.cpp
>> index 21e08cd..e46de35 100644
>> --- a/src/Media/Transcoder.cpp
>> +++ b/src/Media/Transcoder.cpp
>> @@ -51,7 +51,7 @@ Transcoder::transcodeToPs()
>>      m_destinationFile = outputDir + '/' + m_media->fileInfo()->baseName()
>> + ".ps";
>>      QString         option = ":sout=file://" + m_destinationFile;
>>      media->addOption( option.toUtf8().constData() );
>> -    LibVLCpp::MediaPlayer   *mp = new LibVLCpp::MediaPlayer( media );
>> +    LibVLCpp::MediaPlayer   *mp = new LibVLCpp::MediaPlayer(
>> "Transcoder", media );
>>      connect( mp, SIGNAL( positionChanged( float ) ), this, SIGNAL(
>> progress( float ) ) );
>>      connect( mp, SIGNAL( endReached() ), this, SLOT( transcodeFinished()
>> ) );
>>      emit notify( "Transcoding " + m_media->fileInfo()->absoluteFilePath()
>> + " to " + m_destinationFile );
>> diff --git a/src/Metadata/MetaDataManager.cpp
>> b/src/Metadata/MetaDataManager.cpp
>> index 2adbbb2..156fd20 100644
>> --- a/src/Metadata/MetaDataManager.cpp
>> +++ b/src/Metadata/MetaDataManager.cpp
>> @@ -46,7 +46,7 @@ MetaDataManager::launchComputing( Media *media )
>>  {
>>      emit startingComputing( media );
>>      m_computeInProgress = true;
>> -    m_mediaPlayer = new LibVLCpp::MediaPlayer;
>> +    m_mediaPlayer = new LibVLCpp::MediaPlayer( "MetaDataManager" );
>>      MetaDataWorker* worker = new MetaDataWorker( m_mediaPlayer, media );
>>      connect( worker, SIGNAL( computed() ),
>>               this, SLOT( computingCompleted() ),
>> diff --git a/src/Renderer/GenericRenderer.cpp
>> b/src/Renderer/GenericRenderer.cpp
>> index 3cc5799..583d240 100644
>> --- a/src/Renderer/GenericRenderer.cpp
>> +++ b/src/Renderer/GenericRenderer.cpp
>> @@ -28,7 +28,7 @@
>>  GenericRenderer::GenericRenderer() :
>>          m_paused( false )
>>  {
>> -    m_mediaPlayer = new LibVLCpp::MediaPlayer();
>> +    m_mediaPlayer = new LibVLCpp::MediaPlayer( "Renderer" );
>>      m_mediaPlayer->disableTitle();
>>  }
>>
>> diff --git a/src/Settings/SettingValue.cpp b/src/Settings/SettingValue.cpp
>> index ff9c230..36ac70a 100644
>> --- a/src/Settings/SettingValue.cpp
>> +++ b/src/Settings/SettingValue.cpp
>> @@ -93,7 +93,7 @@ SettingValue::flags() const
>>  void
>>  SettingValue::setLimits( const QVariant& min, const QVariant& max )
>>  {
>> -    Q_ASSERT_X( ( ( m_flags & Clamped ) != 0 ), "SettingVaklue", "Setting
>> limits to a non-clamped value" );
>> +    Q_ASSERT_X( ( ( m_flags & Clamped ) != 0 ), "SettingValue", "Setting
>> limits to a non-clamped value" );
>>      if ( min.isValid() == true )
>>          m_min = min;
>>      if ( max.isValid() == true )
>> diff --git a/src/Workflow/ClipWorkflow.cpp b/src/Workflow/ClipWorkflow.cpp
>> index 15dd794..6758fbb 100644
>> --- a/src/Workflow/ClipWorkflow.cpp
>> +++ b/src/Workflow/ClipWorkflow.cpp
>> @@ -31,6 +31,7 @@
>>  #include "VLCMediaPlayer.h"
>>
>>  #include <QReadWriteLock>
>> +#include <QStringBuilder>
>>  #include <QWaitCondition>
>>  #include <QtDebug>
>>
>> @@ -65,6 +66,7 @@ ClipWorkflow::initialize()
>>      initializeVlcOutput();
>>      m_vlcMedia->addOption( createSoutChain() );
>>      m_mediaPlayer =
>> MemoryPool<LibVLCpp::MediaPlayer>::getInstance()->get();
>> +    m_mediaPlayer->setName( "ClipWorkflow " %
>> m_clipHelper->uuid().toString() );
>>      m_mediaPlayer->setMedia( m_vlcMedia );
>>      m_mediaPlayer->disableTitle();
>>
>>
>> _______________________________________________
>> Vlmc-devel mailing list
>> Vlmc-devel at videolan.org
>> https://mailman.videolan.org/listinfo/vlmc-devel
>
>
>
>
> --
> --
> Tony Walker
> Tony Walker Arts
> --
> www.tonywalkerarts.org.uk
> www.facebook.com/tonywalkerarts
> --
>
>
>
>
> _______________________________________________
> Vlmc-devel mailing list
> Vlmc-devel at videolan.org
> https://mailman.videolan.org/listinfo/vlmc-devel
>


More information about the Vlmc-devel mailing list