#1654 closed defect (fixed)
svn-R30725 streaming playlist fails, but 1.0rc2 runs correct
Reported by: | Owned by: | reimar | |
---|---|---|---|
Priority: | normal | Component: | streaming |
Version: | unspecified | Severity: | normal |
Keywords: | Cc: | gas005@… | |
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
when play like this:
mplayer.exe mms://mslive02.881903.com/cr1 mms://mslive05.881903.com/cr1
SVN-R30725 will failed when switch to next stream "mms://mslive05.881903.com/cr1".
This runs correct in 1.0rc2.
This is my first bug report. FYI~
Change History (9)
comment:1 by , 15 years ago
Owner: | changed from | to
---|
comment:2 by , 15 years ago
Cc: | added |
---|
Thanks.
I've tryed your change. The error still occurs.
I found that svn-27394 works correct. But I cannot build this version in my MinGW env(tdm-4.3.3).
I'll try some other versions.
comment:3 by , 15 years ago
I think I found the problem place.
Change as blew:
--- mplayer.c 2010-02-25 13:15:10 +0800
+++ mplayer1.c 2010-02-26 17:52:08 +0800
@@ -2692,7 +2692,7 @@
if (setDEP) setDEP(3);
}
stop Windows from showing all kinds of annoying error dialogs
- SetErrorMode(0x8003);
+ SetErrorMode(0x8003);
request 1ms timer resolution
timeBeginPeriod(1);
#endif
Then compile and run like:
mplayer.exe mms://mslive02.881903.com/cr1 mms://mslive05.881903.com/cr1
When switch to next url, an error MessageBox appears. If you didn't click it, mplayer will playe normally.
I don't know why this error MessageBox appears. Can you help me?
comment:5 by , 15 years ago
It said XXXXXXXX memory cannot be read.
Now I've solved this problem.
Changes as blow:
--- cache2.c.bak 2010-02-27 12:10:47 +0800
+++ cache2.c 2010-02-27 12:12:16 +0800
@@ -308,7 +308,8 @@
cache_vars_t* c = s->cache_data;
if(s->cache_pid) {
#if defined(MINGW32) defined(PTHREAD_CACHE) defined(OS2)
- cache_do_control(s, -2, NULL);
+ cache_do_control(s, -2, NULL);
+ TerminateThread((HANDLE)s->cache_pid,0);gas modify for playtree continue play without error
#else
kill(s->cache_pid,SIGKILL);
waitpid(s->cache_pid,NULL,0);
Because I don't understand what cache_do_control(s, -2, NULL) does, I just comment it. But it seems works well.
FYI
comment:6 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Does not really make sense to me, but could you try latest SVN without your modification?
I think it should be fixed by SVN r30754
comment:7 by , 15 years ago
I've tried SVN r30754. It still does not work well.
Using my patch, it can work well.
comment:8 by , 15 years ago
Your patch unfortunately cause a memory leak and does not work on OS/2 either :-)
Also it would have left the issue unfixed for POSIX cache.
However I accidentally always tested with -nocache - that's why I didn't notice the issue.
It should now really be fixed in SVN r30773.
This is a Windows-only issue which makes it very hard to debug for use.
It would help a lot if you could find out at which version exactly this was introduced.
You could also try this change:
Index: configure
===================================================================
--- configure (revision 30722)
+++ configure (working copy)
@@ -8305,7 +8305,7 @@
+# extra_ldflags="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"