New version of MPlayer for DVR-MS (ASF)
#1
hi

i recently submitted a patch to ffmpeg that allows you to play dvr-ms files (including audio) in mplayer (with -demuxer 35) option. i was hoping i could apply this fairly easily to the xbmc version of mplayer/ffmpeg sources and so be able to play my dvr-ms files on my xbox. but alas it was not so straightforward. for some reason the dvr-ms file wont play at all on the xbox and i think there is probably a bug somewhere in the xbmc version of the mplayer source. before i spend any more time on it i'd like to ask if there are any plans to resync with the latest mplayer/ffmpeg sources in the near future. i think there is a good chance that doing so would fix this problem. if not, is there any description of how to go about applying the xbmc specific code to a fresh copy of mplayer?

thanks in advance...
Reply
#2
not a dev however i can say that i dont think there has been an actual sync for some time now. if you do by chance make an effort to do so or to apply your patch to the current i'd be more than happy to give it a run for ya.
Image
Reply
#3
ffmpeg for the dvdplayer is pretty much uptodate. at this moment probably 3 days old compared to their cvs. you might want to give it a shot (that is if you don't use subtitles, the dvdplayer does not support those for anything else than dvd's)
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#4
i've tracked this problem down to the call to the audio_out->play function at line 2750 in mplayer.c. this function is supposed to return the number of btyes actually played (as far as i can tell) but instead it reurns zero when playing a dvr-ms file. as a workaround i was able to get sound working by adding the following hack after the call:
playsize=audio_out->play(sh_audio->a_out_buffer,playsize,0);
playsize=sh_audio->a_out_buffer_len; //hack - playsize incorrectly returned as zero

without the hack mplayer basically stalls waiting for the audio to catch up but it never does.

it looks to me like the actual play function (that returns zero instead of the number of bytes called) is in one of the audio cpp files - maybe asyncdirectsound.cpp. i dont have the developer kit do i wont be able to progress this any further.

any takers?
Reply
#5
that would be "audio_play" in audio.cpp return 0 for some reason
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#6
checking on the status of this, as this feature is really needed.
Reply
#7
bump for dvr-ms to get working in xbmc, other "conversion" solutions are either very slow or poor quality when you just want to watch a recorded show then delete.
Reply
#8
I added the original audio fix to ffmpeg and then ported both audio and video ability to mplayer. I've finally gotten around to backporting these to the xmbc version of mplayer. It seems to work ok (once I add dvr-ms to AdvancedSettings).

However there's a problem in that at least half the time nothing appears on screen despite the fact that the logs indicate the file is being played successfully (you still see the list of dvr-ms files). The other half of the time it seems to work. I'm using XBMC-CVS_2006-07-25-T3CH so could there be some problem with it? Other suggestions on what might be causing this are welcome.

Also, how do I submit the patch? (Sorry not to reasearch this properly but I've spent far too long on this already.)
Reply
#9
Great!

Just upload the changed files to our SF patch tracker:

http://sourceforge.net/projects/xbmc

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#10
No go sadly, never leaves the menu. Did you have to add anything to codecs.conf to get it to display video? I've been grappling with this for a while now and trying to re-sync xbmc's version of mplayer with the original mplayer source, but I could never get it to compile - had problems with the hardware ac3 decoding...

Cheers

Bubba
Reply
#11
It works for me on about half of my files, but even they the pictute is slightly jerky so there's obviously some problem. The other half of the time it doesnt leave the menu, as you say. xbmc.log isnt telling me much except that it says the file is playing even though it isnt displaying - I can post the logs if you think you can help.

I'd like to get this working but I dont know anything much about the xbmc codebase. I can tell you that this does works fine in mplayer now except for seeking and HD picture size but I'm planning to fix those problems at some point.

Suggestions welcome. Here's my AdvancedSettings.xml file:

<advancedsettings>
<loglevel>
1
</loglevel>
<videoextensions>
<add>.dvr-ms</add>
</videoextensions>
</advancedsettings>
Reply
#12
OK - I've found what looks like the problem with playback failing. It is the same issue I reported in January - see my earlier post in this thread. If I re-apply the hack I suggested to mplayer.c then all my dvr-ms files appear to work. Unfortunately I cant investigate the cause of this problem because I dont have the SDK.

However I'm pretty sure the patch I submitted to demux dvr-ms files into the mpeg2 video and mp3 audio streams is working correctly.

The other issue is that the video is a little bit choppy which I cant explain. Also I can hear the xbox disk working constantly when I play the file (from an smb share).

Here's the relevant bit from my Jan post:

"i've tracked this problem down to the call to the audio_out->play function at line 2750 in mplayer.c. this function is supposed to return the number of btyes actually played (as far as i can tell) but instead it reurns zero when playing a dvr-ms file. as a workaround i was able to get sound working by adding the following hack after the call:
playsize=audio_out->play(sh_audio->a_out_buffer,playsize,0);
playsize=sh_audio->a_out_buffer_len; //hack - playsize incorrectly returned as zero
..."
Reply
#13
Wow, thanks for the update; will try it over the next few days and let you know how it works. This is great news if you run orb.
Reply
#14
Quick update on the jerky playback problem with dvr-ms files...
I've submitted a fix for this to mplayer that, after a number of iterations, looks like it should be accepted, though that process can take a while. Seeking is also improved somewhat though I think I'll be able to do better with that later.

Should I post the patch to you guys or wait till the mplayer people accept it?
Reply
#15
you can wait for mplayer to accept it, cause I probably won't add it before 2.0 unless it is. I will need to revert forcing of lavf demuxer too when i do. ( wich kinda turned out abit badd to since it gives no sound at all untill I update lavf )
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply

Logout Mark Read Team Forum Stats Members Help
New version of MPlayer for DVR-MS (ASF)0