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>2006-06-25 00:25:22 +0400
committerCasimir666 <casimir666@users.sourceforge.net>2006-06-25 00:25:22 +0400
commitb2faa0f34b46bcb68752f99503cb728453bdf051 (patch)
treec09182948e9e038d5b75bb034b440fcab7112410 /include/IChapterInfo.h
parenta1a4ae6a1822dad5576809613fc3b95bca7efb02 (diff)
Added a folder remotely
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@7 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'include/IChapterInfo.h')
-rw-r--r--include/IChapterInfo.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/include/IChapterInfo.h b/include/IChapterInfo.h
new file mode 100644
index 000000000..3cd126116
--- /dev/null
+++ b/include/IChapterInfo.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2003-2006 Gabest
+ * http://www.gabest.org
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Make; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * Note: This interface was defined for the matroska container format
+ * originally, but can be implemented for other formats as well.
+ *
+ */
+
+#pragma once
+
+typedef enum ChapterType {
+ AtomicChapter = 0, // only contain one element
+ SubChapter = 1, // contain a list of elements
+};
+
+#pragma pack(push, 1)
+struct ChapterElement {
+ WORD Size; // size of this structure
+ BYTE Type; // see ChapterType
+ UINT ChapterId; // unique identifier for this element
+ REFERENCE_TIME rtStart; // REFERENCE_TIME in 100ns
+ REFERENCE_TIME rtStop; // REFERENCE_TIME in 100ns
+ struct ChapterElement() {Size = sizeof(*this);}
+};
+struct ChapterElement2 : ChapterElement {
+ BOOL bDisabled;
+ struct ChapterElement2() {Size = sizeof(*this);}
+};
+#pragma pack(pop)
+
+[uuid("8E128709-3DC8-4e49-B632-380FCF496B6D")]
+interface IChapterInfo : public IUnknown
+{
+ #define CHAPTER_BAD_ID 0xFFFFFFFF
+ #define CHAPTER_ROOT_ID 0
+
+ // \param aChapterID is 0 for the top level one
+ STDMETHOD_(UINT, GetChapterCount) (UINT aChapterID) = 0;
+
+ // \param aIndex start from 1 to GetChapterCount( aParentChapterId )
+ STDMETHOD_(UINT, GetChapterId) (UINT aParentChapterId, UINT aIndex) = 0;
+
+ STDMETHOD_(UINT, GetChapterCurrentId) () = 0;
+
+ STDMETHOD_(BOOL, GetChapterInfo) (UINT aChapterID, struct ChapterElement* pStructureToFill) = 0;
+
+ // \param PreferredLanguage Language code as in ISO-639-2 (3 chars)
+ // \param CountryCode Country code as in internet domains
+ STDMETHOD_(BSTR, GetChapterStringInfo) (UINT aChapterID, CHAR PreferredLanguage[3], CHAR CountryCode[2]) = 0;
+}; \ No newline at end of file