Index: mythplugins/mythvideo/mythvideo/videodlg.h
===================================================================
--- mythplugins/mythvideo/mythvideo/videodlg.h	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videodlg.h	(working copy)
@@ -25,7 +25,7 @@
                 const QString &lwinName, const QString &lname,
                 VideoList *video_list);
 
-    virtual void playVideo(Metadata *someItem);
+    virtual void playVideo(Metadata *someItem, bool defaultplayer=false);
 
     GenericTree *getVideoTreeRoot(void);
 
@@ -45,6 +45,7 @@
     void exitWin();
     virtual void slotParentalLevelChanged();
     virtual void slotWatchVideo();
+    virtual void slotWatchVideoDefault();
 
   protected:
     virtual ~VideoDialog(); // use deleteLater() instead for thread safety
Index: mythplugins/mythvideo/mythvideo/metadata.cpp
===================================================================
--- mythplugins/mythvideo/mythvideo/metadata.cpp	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/metadata.cpp	(working copy)
@@ -797,16 +797,19 @@
     return ret;
 }
 
-QString Metadata::getPlayer(const Metadata *item)
+QString Metadata::getPlayer(const Metadata *item, bool defaultplayer)
 {
     QString empty;
-    return getPlayer(item, empty);
+    return getPlayer(item, empty, defaultplayer);
 }
 
-QString Metadata::getPlayer(const Metadata *item, QString &internal_mrl)
+QString Metadata::getPlayer(const Metadata *item, QString &internal_mrl, bool defaultplayer)
 {
     if (!item) return "";
 
+    if (defaultplayer)
+        return gContext->GetSetting("VideoDefaultPlayer");
+
     internal_mrl = item->Filename();
 
     if (item->PlayCommand().length()) return item->PlayCommand();
@@ -833,12 +836,12 @@
     return gContext->GetSetting("VideoDefaultPlayer");
 }
 
-QString Metadata::getPlayCommand(const Metadata *item)
+QString Metadata::getPlayCommand(const Metadata *item, bool defaultplayer)
 {
     if (!item) return "";
 
     QString filename = item->Filename();
-    QString handler = getPlayer(item);
+    QString handler = getPlayer(item, defaultplayer);
 
     QString arg = QString("\"%1\"").arg(QString(item->Filename())
                                         .replace(QRegExp("\""), "\\\"")
Index: mythplugins/mythvideo/mythvideo/videotree.cpp
===================================================================
--- mythplugins/mythvideo/mythvideo/videotree.cpp	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videotree.cpp	(working copy)
@@ -458,6 +458,7 @@
         {
             focusButton = popup->addButton(tr("Watch This Video"), this,
                                            SLOT(slotWatchVideo()));
+            popup->addButton(tr("Watch This Video (default player)"), this, SLOT(slotWatchVideoDefault()));
             popup->addButton(tr("View Full Plot"), this, SLOT(slotViewPlot()));
             popup->addButton(tr("View Cast"), this, SLOT(slotViewCast()));
         }
@@ -565,12 +566,22 @@
         VERBOSE(VB_IMPORTANT, QString("no Item to watch"));
 }
 
-void VideoTree::playVideo(Metadata *someItem)
+void VideoTree::slotWatchVideoDefault()
 {
+    cancelPopup();
+
+    if (curitem)
+        playVideo(curitem,true);
+    else
+        VERBOSE(VB_IMPORTANT, QString("no Item to watch"));
+}
+
+void VideoTree::playVideo(Metadata *someItem, bool defaultplayer)
+{
     if (!someItem)
         return;
 
-    PlayVideo(someItem->Filename(), m_video_list->getListCache());
+    PlayVideo(someItem->Filename(), m_video_list->getListCache(), defaultplayer);
 
     m_imp->video_tree_list->deactivate();
     gContext->GetMainWindow()->raise();
Index: mythplugins/mythvideo/mythvideo/videoutils.cpp
===================================================================
--- mythplugins/mythvideo/mythvideo/videoutils.cpp	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videoutils.cpp	(working copy)
@@ -16,7 +16,7 @@
     const QString VIDEO_COVERFILE_DEFAULT_OLD = QObject::tr("None");
 }
 
-void PlayVideo(const QString &filename, const MetadataListManager &video_list)
+void PlayVideo(const QString &filename, const MetadataListManager &video_list, bool defaultplayer)
 {
     MetadataListManager::MetadataPtr item = video_list.byFilename(filename);
 
@@ -29,15 +29,18 @@
         playing_time.start();
 
         QString internal_mrl;
-        QString handler = Metadata::getPlayer(item.get(), internal_mrl);
+        QString handler;
+
+	handler = Metadata::getPlayer(item.get(), internal_mrl, defaultplayer);
+
         // See if this is being handled by a plugin..
-        if (!gContext->GetMainWindow()->
+        if (defaultplayer || !gContext->GetMainWindow()->
                 HandleMedia(handler, internal_mrl, item->Plot(), item->Title(),
                             item->Director(), item->Length(),
                             QString::number(item->Year())))
         {
             // No internal handler for this, play external
-            QString command = Metadata::getPlayCommand(item.get());
+            QString command = Metadata::getPlayCommand(item.get(), defaultplayer);
             if (command.length())
             {
                 gContext->sendPlaybackStart();
Index: mythplugins/mythvideo/mythvideo/videodlg.cpp
===================================================================
--- mythplugins/mythvideo/mythvideo/videodlg.cpp	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videodlg.cpp	(working copy)
@@ -198,8 +198,18 @@
         VERBOSE(VB_IMPORTANT, QString("no Item to watch"));
 }
 
-void VideoDialog::playVideo(Metadata *someItem)
+void VideoDialog::slotWatchVideoDefault()
 {
+    cancelPopup();
+
+    if (curitem)
+      playVideo(curitem, true);
+    else
+        VERBOSE(VB_IMPORTANT, QString("no Item to watch"));
+}
+
+void VideoDialog::playVideo(Metadata *someItem, bool defaultplayer)
+{
     // Show a please wait message
     LayerSet *container = theme->GetSet("playwait");
     if (container)
@@ -209,7 +219,7 @@
     update(fullRect);
     allowPaint = false;
 
-    PlayVideo(someItem->Filename(), m_video_list->getListCache());
+    PlayVideo(someItem->Filename(), m_video_list->getListCache(), defaultplayer);
 
     gContext->GetMainWindow()->raise();
     gContext->GetMainWindow()->setActiveWindow();
Index: mythplugins/mythvideo/mythvideo/videobrowser.cpp
===================================================================
--- mythplugins/mythvideo/mythvideo/videobrowser.cpp	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videobrowser.cpp	(working copy)
@@ -130,6 +130,7 @@
         {
             focusButton = popup->addButton(tr("Watch This Video"), this,
                                            SLOT(slotWatchVideo()));
+            popup->addButton(tr("Watch This Video (default player)"), this, SLOT(slotWatchVideoDefault()));
             popup->addButton(tr("View Full Plot"), this, SLOT(slotViewPlot()));
             popup->addButton(tr("View Cast"), this, SLOT(slotViewCast()));
         }
Index: mythplugins/mythvideo/mythvideo/metadata.h
===================================================================
--- mythplugins/mythvideo/mythvideo/metadata.h	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/metadata.h	(working copy)
@@ -46,9 +46,9 @@
     static SortKey GenerateDefaultSortKey(const Metadata &m, bool ignore_case);
     static QString FilenameToTitle(const QString &file_name);
     static QString trimTitle(const QString &title, bool ignore_case);
-    static QString getPlayer(const Metadata *item);
-    static QString getPlayer(const Metadata *item, QString &internal_mrl);
-    static QString getPlayCommand(const Metadata *item);
+    static QString getPlayer(const Metadata *item, bool defaultplayer = false);
+    static QString getPlayer(const Metadata *item, QString &internal_mrl, bool defaultplayer = false);
+    static QString getPlayCommand(const Metadata *item, bool defaultplayer=false);
     static bool getPlayer(const QString &extension, QString &player,
             bool &use_default);
 
Index: mythplugins/mythvideo/mythvideo/videogallery.cpp
===================================================================
--- mythplugins/mythvideo/mythvideo/videogallery.cpp	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videogallery.cpp	(working copy)
@@ -499,6 +499,7 @@
         {
             focusButton = popup->addButton(tr("Watch This Video"), this,
                                            SLOT(slotWatchVideo()));
+            popup->addButton(tr("Watch This Video (default player)"), this, SLOT(slotWatchVideoDefault()));
             popup->addButton(tr("View Full Plot"), this, SLOT(slotViewPlot()));
             popup->addButton(tr("View Cast"), this, SLOT(slotViewCast()));
             popup->addButton(tr("View Details"), this,
Index: mythplugins/mythvideo/mythvideo/videotree.h
===================================================================
--- mythplugins/mythvideo/mythvideo/videotree.h	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videotree.h	(working copy)
@@ -22,7 +22,7 @@
 
     void buildVideoList();
 
-    void playVideo(Metadata *someItem);
+    void playVideo(Metadata *someItem, bool defaultplayer=false);
     int videoExitType() { return m_exit_type; }
 
   public slots:
@@ -33,6 +33,7 @@
     void slotViewCast();
     void slotDoFilter();
     void slotWatchVideo();
+    void slotWatchVideoDefault();
 
     void handleTreeListSelection(int node_int);
     void handleTreeListEntry(int node_int);
Index: mythplugins/mythvideo/mythvideo/videoutils.h
===================================================================
--- mythplugins/mythvideo/mythvideo/videoutils.h	(revision 20491)
+++ mythplugins/mythvideo/mythvideo/videoutils.h	(working copy)
@@ -4,7 +4,7 @@
 class Metadata;
 class MetadataListManager;
 
-void PlayVideo(const QString &filename, const MetadataListManager &video_list);
+void PlayVideo(const QString &filename, const MetadataListManager &video_list, bool defaultplayer = false);
 
 template <typename T>
 void checkedSetText(T *item, const QString &text)
