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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
diff -ru gecko-mediaplayer-1.0.4-orig/ChangeLog gecko-mediaplayer-1.0.4/ChangeLog
--- gecko-mediaplayer-1.0.4-orig/ChangeLog 2011-07-01 12:40:50.000000000 -0400
+++ gecko-mediaplayer-1.0.4/ChangeLog 2011-07-09 20:58:47.000000000 -0400
@@ -1,3 +1,6 @@
+Development
+ Improvements to the apple.com/trailers fix, caching now works properly
+ Fix regression at apple.com/trailers, side effect of fully caching the file for now
1.0.4
Fix problem where file is downloaded before gnome-mplayer is started (locally cached)
Added Portuguese translation
diff -ru gecko-mediaplayer-1.0.4-orig/src/memmem_compat.cpp gecko-mediaplayer-1.0.4/src/memmem_compat.cpp
--- gecko-mediaplayer-1.0.4-orig/src/memmem_compat.cpp 2011-06-06 17:47:44.000000000 -0400
+++ gecko-mediaplayer-1.0.4/src/memmem_compat.cpp 2011-07-09 20:58:24.000000000 -0400
@@ -14,7 +14,7 @@
You should have received a copy of the GNU General Public License
along with this file; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335,
USA. */
diff -ru gecko-mediaplayer-1.0.4-orig/src/plugin.cpp gecko-mediaplayer-1.0.4/src/plugin.cpp
--- gecko-mediaplayer-1.0.4-orig/src/plugin.cpp 2011-06-20 11:00:33.000000000 -0400
+++ gecko-mediaplayer-1.0.4/src/plugin.cpp 2011-07-09 20:57:50.000000000 -0400
@@ -1320,7 +1320,7 @@
ListItem *item = (ListItem *) clientp;
gdouble percent, rate;
gchar *text;
- gboolean ok_to_play;
+ gboolean ok_to_play = FALSE;
gint id;
gboolean ready;
gboolean newwindow;
@@ -1364,8 +1364,11 @@
rate);
}
send_signal_with_string(plugin, item, "SetProgressText", text);
- if (!item->opened)
- send_signal_with_string(plugin, item, "SetURL", item->src);
+ if (!item->opened) {
+ //open_location (plugin, item, TRUE);
+ //item->opened = TRUE;
+ //send_signal_with_string(plugin, item, "SetURL", item->src);
+ }
if (plugin->post_dom_events && plugin->id != NULL) {
postDOMEvent(plugin->mInstance, plugin->id, "qt_progress");
postDOMEvent(plugin->mInstance, plugin->id, "qt_durationchange");
@@ -1376,6 +1379,7 @@
item->lastsize = item->localsize;
}
}
+
if (!item->opened) {
if ((item->localsize >= (plugin->cache_size * 1024)) && (percent >= 0.2)) {
printf("Setting to play because %i > %i\n", item->localsize,
@@ -1391,7 +1395,7 @@
if (ok_to_play == FALSE) {
if (item->bitrate == 0 && item->bitrate_requests < 5
&& ((gint) (percent * 100) > item->bitrate_requests)) {
- item->bitrate = request_bitrate(plugin, item, item->local);
+ //item->bitrate = request_bitrate(plugin, item, item->local);
item->bitrate_requests++;
}
if (item->bitrate > 0) {
@@ -1407,6 +1411,7 @@
}
}
+
// if not opened, over cache level and not an href target then try and open it
if ((!item->opened) && ok_to_play == TRUE) {
id = item->controlid;
@@ -1418,6 +1423,7 @@
if (!item->streaming) {
printf("in progress_callback\n");
plugin->playlist = list_parse_qt(plugin->playlist, item);
+ plugin->playlist = list_parse_qt2(plugin->playlist, item);
plugin->playlist = list_parse_asx(plugin->playlist, item);
plugin->playlist = list_parse_qml(plugin->playlist, item);
plugin->playlist = list_parse_ram(plugin->playlist, item);
@@ -1456,6 +1462,7 @@
}
g_free(path);
}
+
}
@@ -1493,13 +1500,14 @@
}
fclose(local);
- printf("fetched %s to %s\n", item->src, item->local);
+ printf("fetched %s to %s opened = %i\n", item->src, item->local, item->opened);
+ send_signal_with_double(plugin, item, "SetCachePercent", 1.0);
send_signal_with_double(plugin, item, "SetCachePercent", 0.0);
item->retrieved = TRUE;
}
- if ((!item->opened)) {
+ if (!item->opened) {
id = item->controlid;
path = g_strdup(item->path);
ready = item->playerready;
@@ -1509,13 +1517,14 @@
if (!item->streaming) {
printf("in CURLGetURLNotify\n");
plugin->playlist = list_parse_qt(plugin->playlist, item);
+ plugin->playlist = list_parse_qt2(plugin->playlist, item);
plugin->playlist = list_parse_asx(plugin->playlist, item);
plugin->playlist = list_parse_qml(plugin->playlist, item);
plugin->playlist = list_parse_ram(plugin->playlist, item);
}
// printf("item->play = %i\n", item->play);
// printf("item->src = %i\n", item->src);
- // printf("calling open_location from Write\n");
+ // printf("calling open_location from CURLGetURLNotify\n");
if (item->play) {
send_signal_with_integer(plugin, item, "SetGUIState", PLAYING);
open_location(plugin, item, TRUE);
|