summaryrefslogtreecommitdiff
blob: 2c8f4a3c48edf2332236a85afbfddc28cb5b1987 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
--- src/mgui/ffviewer.cpp.ORIG	2012-02-08 13:19:21.000000000 +0100
+++ src/mgui/ffviewer.cpp	2013-02-24 18:11:07.565711375 +0100
@@ -36,7 +36,13 @@
 #define AVFORMAT_54
 #endif
 
-#ifdef AVFORMAT_54
+// разрабы libav считают себя самыми умными и потому решили
+// закрыть простым смертным доступ к ffurl_register_protocol() 
+// (бывшая av_register_protocol2()),- https://bugzilla.libav.org/show_bug.cgi?id=224
+// 
+// Поэтому: пользователи Linux остаются без предпросмотра содержимого DVD,
+// пользователи же Windows не страдают из-за подобного политгемора
+#if defined(AVFORMAT_54) && defined(_WIN32)
 C_LINKAGE_BEGIN
 #include <libavformat/url.h> // ffurl_register_protocol()
 C_LINKAGE_END
@@ -1125,6 +1131,8 @@
 
 namespace DVD {
 
+#if !defined(AVFORMAT_54) || defined(_WIN32)
+
 struct VobCtx
 {
    int64_t  curPos;
@@ -1266,6 +1274,17 @@
     BmdDVD = 0;
     return res;
 }
+    
+#else    
+    
+bool OpenVob(FFViewer&, VobPtr, dvd_reader_t*, std::string& err_str)
+{
+    err_str = "Libav: no soup for Linux users^W^W^W^W^W see https://bugzilla.libav.org/show_bug.cgi?id=224";
+    return false;
+}
+    
+#endif
+    
 
 } // namespace DVD