[vlmc-devel] Use named media players

Tony Walker Arts tony at tonywalkerarts.org.uk
Sat Feb 8 20:01:54 CET 2014


Hi Rohit

OK I understand, thank you for your response. I will wait for an
announcement.

Having a stable and useful video editor for Linux will be a massive game
changer.

I am very grateful for all the work everyone is doing.

Best wishes, Tony
--


On 8 February 2014 18:25, Rohit Yadav <bhaisaab at apache.org> wrote:

> 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
> >
> _______________________________________________
> 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
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlmc-devel/attachments/20140208/2e9f1bf3/attachment.html>


More information about the Vlmc-devel mailing list