Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCasimir666 <casimir666@users.sourceforge.net>2008-10-09 16:38:02 +0400
committerCasimir666 <casimir666@users.sourceforge.net>2008-10-09 16:38:02 +0400
commit70d72e66e72a23d544fd0ba99e3db8c7c7a3b31f (patch)
tree71dc60458c2762c44d44f7fc96ed552c93128f4a
parentbcbe18d32d188d34093608e6aed5ab3309c2f86e (diff)
Fix : UOP removed from first PGC
Fix : DVD remember position with /dvdpos option Fix : Don't play pictures with "Open folder" action git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@831 10f7b99b-c216-0410-bff0-8a66a9350fd8
-rw-r--r--src/apps/mplayerc/Ifo.cpp14
-rw-r--r--src/apps/mplayerc/Ifo.h1
-rw-r--r--src/apps/mplayerc/MainFrm.cpp2
-rw-r--r--src/apps/mplayerc/PlayerPlaylistBar.cpp3
4 files changed, 17 insertions, 3 deletions
diff --git a/src/apps/mplayerc/Ifo.cpp b/src/apps/mplayerc/Ifo.cpp
index be4e909f6..39bb6c763 100644
--- a/src/apps/mplayerc/Ifo.cpp
+++ b/src/apps/mplayerc/Ifo.cpp
@@ -138,6 +138,14 @@ void CIfo::RemovePgciUOPs (uint8_t *ptr)
}
}
+CIfo::pgc_t* CIfo::GetFirstPGC()
+{
+ if (m_pBuffer)
+ return (pgc_t*) (m_pBuffer + 0x0400);
+ else
+ return NULL;
+}
+
CIfo::pgc_t* CIfo::GetPGCI(const int title)
{
CIfo::pgci_sub_t *pgci_sub;
@@ -208,10 +216,12 @@ bool CIfo::RemoveUOPs()
{
if (m_pPGCI)
{
+ pgc_t* pgc = GetFirstPGC();
+
+ if (pgc) pgc->prohibited_ops = 0;
+
for (int i=0; i<be2me_16(m_pPGCI->num); i++)
{
- pgc_t* pgc;
-
if (pgc = GetPGCI(i))
RemovePgciUOPs ((uint8_t*)pgc);
}
diff --git a/src/apps/mplayerc/Ifo.h b/src/apps/mplayerc/Ifo.h
index 88cf909a3..3cc3b4389 100644
--- a/src/apps/mplayerc/Ifo.h
+++ b/src/apps/mplayerc/Ifo.h
@@ -195,6 +195,7 @@ private :
bool IsVTS();
bool IsVMG();
+ pgc_t* GetFirstPGC();
pgc_t* GetPGCI(const int title);
int GetMiscPGCI (ifo_hdr_t *hdr, int title, uint8_t **ptr);
void RemovePgciUOPs (uint8_t *ptr);
diff --git a/src/apps/mplayerc/MainFrm.cpp b/src/apps/mplayerc/MainFrm.cpp
index 7a4e9c2a1..86a8500d7 100644
--- a/src/apps/mplayerc/MainFrm.cpp
+++ b/src/apps/mplayerc/MainFrm.cpp
@@ -1961,6 +1961,7 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
{
if (s.lDVDTitle != 0)
{
+ s.NewDvd (llDVDGuid);
// Set command line position
pDVDC->PlayTitle(s.lDVDTitle, DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
if (s.lDVDChapter != 0)
@@ -1968,6 +1969,7 @@ LRESULT CMainFrame::OnGraphNotify(WPARAM wParam, LPARAM lParam)
else
pDVDC->PlayAtTimeInTitle (s.lDVDTitle, &s.DVDPosition, DVD_CMD_FLAG_Block|DVD_CMD_FLAG_Flush, NULL);
+ m_iDVDTitle = s.lDVDTitle;
s.lDVDTitle = 0;
s.lDVDChapter = 0;
}
diff --git a/src/apps/mplayerc/PlayerPlaylistBar.cpp b/src/apps/mplayerc/PlayerPlaylistBar.cpp
index 9a222d04d..98fc2f3ea 100644
--- a/src/apps/mplayerc/PlayerPlaylistBar.cpp
+++ b/src/apps/mplayerc/PlayerPlaylistBar.cpp
@@ -234,7 +234,8 @@ static bool SearchFiles(CString mask, CAtlList<CString>& sl)
for(int i = 0; i < mf.GetCount(); i++)
{
CMediaFormatCategory& mfc = mf.GetAt(i);
- if((mfc.FindExt(ext))/* && (CPPageFormats::IsRegistered(ext, mfc.GetProgId()))*/)
+ if((mfc.FindExt(ext)) &&
+ (mfc.GetProgId() != _T("mplayerc.jpeg"))) // Prevent playing pictures on "play folder"
{
sl.AddTail(path);
break;