[matroska] r1296 - trunk/foo_input_matroska

[email protected] Sun, 10 Jun 2007 19:32:46 +0400 (MSD)
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: ayana
Date: 2007-06-10 19:32:41 +0400 (Sun, 10 Jun 2007)
New Revision: 1296

Modified:
   trunk/foo_input_matroska/filesystem_matroska.cpp
   trunk/foo_input_matroska/filesystem_matroska.h
   trunk/foo_input_matroska/foo_input_matroska.cpp
   trunk/foo_input_matroska/foo_input_matroska.rc
   trunk/foo_input_matroska/foo_input_matroska.vcproj
Log:
0.9.2.1
fix: crash media library when rescan

Modified: trunk/foo_input_matroska/filesystem_matroska.cpp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/foo_input_matroska/filesystem_matroska.cpp	2007-03-17 13:11:25 =
UTC (rev 1295)
+++ trunk/foo_input_matroska/filesystem_matroska.cpp	2007-06-10 15:32:41 =
UTC (rev 1296)
@@ -2,8 +2,15 @@
=20
 bool filesystem_matroska::get_canonical_path(const char * p_path,pfc::st=
ring_base & p_out)
 {
-    p_out =3D p_path;
-    return true;
+	if (is_our_path(p_path)) {
+		pfc::string8 source, attachment, canonical_path;
+		if (get_source_file_path(p_path, source) && get_attachment_file_name(p=
_path, attachment)) {
+			g_get_canonical_path(source, canonical_path);
+			g_make_matroska_path(p_out, canonical_path, attachment);
+			return true;
+		}
+	}
+	return false;
 }
=20
 bool filesystem_matroska::is_our_path(const char * p_path)
@@ -16,13 +23,19 @@
             return true;
         }
     }
-    return false;
+	return false;
 }
=20
 bool filesystem_matroska::get_display_path(const char * p_path,pfc::stri=
ng_base & p_out)
 {
-    p_out =3D p_path;
-    return true;
+	pfc::string8 source, attachment;
+	if (get_source_file_path(p_path, source) && get_attachment_file_name(p_=
path, attachment)) {
+		g_get_display_path(source, p_out);
+		p_out.add_string("|");
+		p_out.add_string(attachment);
+		return true;
+	}
+	return false;
 }
=20
 void filesystem_matroska::open(service_ptr_t<file> & p_out,const char * =
p_path, t_open_mode p_mode,abort_callback & p_abort)

Modified: trunk/foo_input_matroska/filesystem_matroska.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/foo_input_matroska/filesystem_matroska.h	2007-03-17 13:11:25 UT=
C (rev 1295)
+++ trunk/foo_input_matroska/filesystem_matroska.h	2007-06-10 15:32:41 UT=
C (rev 1296)
@@ -4,6 +4,16 @@
 #include "../SDK/foobar2000.h"
 #include "container_matroska.h"
=20
+/*
+class NOVTABLE filesystem_matroska_interface : public filesystem {
+	FB2K_MAKE_SERVICE_INTERFACE(filesystem_matroska_interface,filesystem);
+};
+
+// {67456A35-7324-448e-8442-CD997FCCCC74}
+FOOGUIDDECL const GUID filesystem_matroska_interface::class_guid =3D=20
+{ 0x67456a35, 0x7324, 0x448e, { 0x84, 0x42, 0xcd, 0x99, 0x7f, 0xcc, 0xcc=
, 0x74 } };
+*/
+
 class NOVTABLE filesystem_matroska : public filesystem {
 public:
 	virtual bool get_canonical_path(const char * p_path,pfc::string_base & =
p_out);

Modified: trunk/foo_input_matroska/foo_input_matroska.cpp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/foo_input_matroska/foo_input_matroska.cpp	2007-03-17 13:11:25 U=
TC (rev 1295)
+++ trunk/foo_input_matroska/foo_input_matroska.cpp	2007-06-10 15:32:41 U=
TC (rev 1296)
@@ -658,7 +658,7 @@
=20
 DECLARE_COMPONENT_VERSION(
     INPUT_MATROSKA_NAME,
-    "0.9.2.0",
+    "0.9.2.1",
     version
 );
=20

Modified: trunk/foo_input_matroska/foo_input_matroska.rc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/foo_input_matroska/foo_input_matroska.rc	2007-03-17 13:11:25 UT=
C (rev 1295)
+++ trunk/foo_input_matroska/foo_input_matroska.rc	2007-06-10 15:32:41 UT=
C (rev 1296)
@@ -26,8 +26,8 @@
=20
=20
=20
-
-
+
+
=20
=20
=20
@@ -43,11 +43,11 @@
=20
=20
=20
-
+
=20
=20
=20
-
+
=20
=20
=20

Modified: trunk/foo_input_matroska/foo_input_matroska.vcproj
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/foo_input_matroska/foo_input_matroska.vcproj	2007-03-17 13:11:2=
5 UTC (rev 1295)
+++ trunk/foo_input_matroska/foo_input_matroska.vcproj	2007-06-10 15:32:4=
1 UTC (rev 1296)
@@ -75,16 +75,17 @@
 			/>
 			<Tool
 				Name=3D"VCLinkerTool"
-				AdditionalDependencies=3D"shared.lib libebmld.lib libmatroskad.lib"
+				AdditionalDependencies=3D"libebmld.lib libmatroskad.lib"
 				ShowProgress=3D"0"
 				OutputFile=3D"../foobar2000/components/foo_input_matroska.dll"
 				LinkIncremental=3D"2"
 				SuppressStartupBanner=3D"true"
-				AdditionalLibraryDirectories=3D"../shared"
+				AdditionalLibraryDirectories=3D""
 				IgnoreAllDefaultLibraries=3D"false"
 				IgnoreDefaultLibraryNames=3D""
 				GenerateDebugInformation=3D"true"
 				ProgramDatabaseFile=3D".\Debug/foo_input_matroska.pdb"
+				SubSystem=3D"2"
 				ImportLibrary=3D".\Debug/foo_input_matroska.lib"
 				TargetMachine=3D"1"
 			/>
@@ -157,7 +158,7 @@
 				PreprocessorDefinitions=3D"WIN32;NDEBUG;_WINDOWS;_USRDLL;FOO_MATROSK=
A_EXPORTS"
 				StringPooling=3D"true"
 				RuntimeLibrary=3D"0"
-				EnableFunctionLevelLinking=3D"true"
+				EnableFunctionLevelLinking=3D"false"
 				FloatingPointModel=3D"2"
 				PrecompiledHeaderFile=3D".\Release/foo_input_matroska.pch"
 				AssemblerListingLocation=3D".\Release/"
@@ -179,15 +180,16 @@
 			/>
 			<Tool
 				Name=3D"VCLinkerTool"
-				AdditionalDependencies=3D"shared.lib libebml.lib libmatroska.lib"
+				AdditionalDependencies=3D"libebml.lib libmatroska.lib"
 				OutputFile=3D".\Release/foo_input_matroska.dll"
 				Version=3D""
 				LinkIncremental=3D"1"
 				SuppressStartupBanner=3D"true"
-				AdditionalLibraryDirectories=3D"../shared"
+				AdditionalLibraryDirectories=3D""
 				IgnoreAllDefaultLibraries=3D"false"
 				IgnoreDefaultLibraryNames=3D""
 				ProgramDatabaseFile=3D".\Release/foo_input_matroska.pdb"
+				SubSystem=3D"2"
 				LinkTimeCodeGeneration=3D"1"
 				ImportLibrary=3D".\Release/foo_input_matroska.lib"
 				TargetMachine=3D"1"