XMPlay AAC & MP4 plugin

Started by Sebastian_Mares,

sergeymen

#100
presence of other plugins does not affect the behavior - i tried it without any other plugins present.

when I double-click on it (with 'verify' ON) it gets added to the playlist, but it is crossed out and the metadata and length are not displayed.

I observe this behavior on two computers with different audio cards.

Edit: ... on three different computers.

Ian @ un4seen

Ah, I see what it is now. I previously only tried with the current "in development" version (not the .6 release). The problem is that the latest AAC plugin is assuming that XMPlay rewinds the file before giving it, but XMPlay didn't used to do that (it does/will now). I've put an updated AAC plugin in the ZIP, which does rewind the file itself.

sergeymen

Thank you very much, Ian! That fixes it!

Auren

Hi. I encountered some problems using XMP-AAC plugin when playing AAC songs which are 30-40 Mb in size and are coded in 64 kbit/s (generally, it is 60-70 minutes of music). So, it takes very much time to load it. I suppose that XMPlay or plugin scans all the file to determine its length. And that's OK. But. Winamp plays such files instantly without any scanning. What's the problem? I can't wait 15-20 seconds until such a file will load.

Ian @ un4seen

Yes, the plugin does currently prescan AAC files to get accurate seek-points (and length). I'll see if I can add some bypass option.

Ajaja

#105
The latest version of plugin (rev.2  from 23/04/2007) doesn't play correct mono m4a-files with 22050Hz AAC stream (created with free commandline Nero aac coder in my tests). It shows 44100Hz, stereo, and only half of real duration :(   Raw aac 22kHz mono files plays better - shows 44.1KHz stereo, but calculate right duration, so rewind works fine.

Ian @ un4seen

Please upload an example troublesome file here...

   ftp.un4seen.com/incoming/

Ajaja

#107
Quote from: Ian @ un4seenPlease upload an example troublesome file here...

   ftp.un4seen.com/incoming/
I uploaded file, but i don't see one (may be some rights restrictions?).
File name: Nazareth.mp4
Info (from mp4creator.exe -list):
Track   Type    Info
1       audio   MPEG-4 AAC LC, 232.687 secs, 52 kbps, 22050 Hz
 Tool: Nero AAC codec / Feb 12 2007

But in XMplay with xmp-aac.dll rev.2 :
Bit rate 105 kbps
Sample rate: 44100 hz
Channels: 2
Length: 1.56

XMplay with xmp-aac.dll rev.1:
Bit rate 52 kbps
Sample rate: 22050 hz
Channels: 2 (wrong too!!!)
Length: 3.52



Ian @ un4seen

It looks like the AAC decoder converts mono to stereo to support PS. And sample rates at or below 24000hz are assumed to use SBR (doubles the rate), which is apparently what the MPEG spec states.

Here's an update that should correct the duration problem though...

   www.un4seen.com/stuff/xmp-aac.dll

Ajaja

Quote from: Ian @ un4seenHere's an update that should correct the duration problem though...
   www.un4seen.com/stuff/xmp-aac.dll
Thanks!


Auren

#111
Ian, would you please fix a seek problem (100% CPU usage) with big AAC files with "Pre-scan accurate length..." option disabled?

Ian @ un4seen

Please upload an example file to reproduce the problem with...

   ftp.un4seen.com/incoming/

Auren

#113
Quote from: Ian @ un4seenPlease upload an example file to reproduce the problem with...

   ftp.un4seen.com/incoming/


At last I did it... It was a bit hard for me to upload 22 Mb. But, here is it:
Paul B - Movement 013 on ETN.fm - 2007-03-16.aac

Just try to seek this file through. Forward and backward, backward and forward until the seek inidcator stucks on its position. Then the CPU usage reaches 100% and there is an HDD activity (it seems that XMPlay scans the file through...)

Auren

Ian, can you add an UltraVox format support? I need this to listen to AOL XM Radio. As far as I know it bases upon AAC encoding engine. But maybe it needs a standalone plugin... Here is a reference site: http://ultravox.aol.com/

Auren

#115
Hey, I figured out how to add an ultravox support to XMPlay. You just should add an in_mp3.dll plugin from winamp - and uvox protocol works OK.

Update: it seems not to work. Please, somebody, help.

Therefore, I have a question: What is the order of use of decoders in XMPlay? What will XMPlay play with its own decoder and what - with Winamp's one?

Dotpitch

Quote from: AurenTherefore, I have a question: What is the order of use of decoders in XMPlay? What will XMPlay play with its own decoder and what - with Winamp's one?
The internal decoder (based on BASS) is first in line and decodes XM, MOD, S3M, IT, MTM, MO3, UMX, MP123, PCM-WAV and OGG Vorbis. Then the native plugins, and last the WinAMP ones, so in_mp3 doesn't even get to play MP3s.
(There are exceptions, such as specific xmp-delix files, or MP3Pro and MP3Surround, which are detected and passed on to the appropriate plugins.)

Ian @ un4seen

Quote from: AurenHey, I figured out how to add an ultravox support to XMPlay. You just should add an in_mp3.dll plugin from winamp - and uvox protocol works OK.

Update: it seems not to work. Please, somebody, help.

Please provide an example stream URL, to see if XMPlay can be made to forward them to the plugins.

Brian

#118
I raised the question of Ultravox streams when the XMPlay AAC plugin was first released. The answer then was that it wasn't possible to develop the plugin to enable these streams to be played. The trouble with in_mp3.dll is that these days it works only in conjunction with another file (nscrt.dll), which XMPlay doesn't like at all. So unless someone can come up with a new idea, these streams can be played only in Winamp.

Auren

#119
Quote from: BrianI raised the question of Ultravox streams when the XMPlay AAC plugin was first released. The answer then was that it wasn't possible to develop the plugin to enable these streams to be played. The trouble with in_mp3.dll is that these days it works only in conjunction with another file (nscrt.dll), which XMPlay doesn't like at all. So unless someone can come up with a new idea, these streams can be played only in Winamp.

This fact made me think different way. So, I downloaded Winamp 2.95 from the archive and got an in_mp3.dll (v 2.96) from there (ultravox support for in_mp3 was added since 2.92). It still doesn't work.

The trouble (need of nscrt.dll) with Winamp 5.x in_mp3.dll can be easily solved by copying nscrt.dll to the XMPlay folder. But it still doesn't work.

Here's a 2.96 in_mp3.dll: http://flash41.narod.ru/in_mp3.dll

Quote from: Ian @ un4seenPlease provide an example stream URL, to see if XMPlay can be made to forward them to the plugins.

http://www.winamp.com/bin/om/xm/xmtune.pls?id=radio:aggregate:22317

These streams are delivered by their own protocol (uvox://). I don't know if there are any other XM streams using http:// protocol. Maybe the fact that uvox protocol is used makes these difficulties.


Update (my small investigation of uvox protocol):
An example of uvox stream: uvox://firehose-bbnm.stream.aol.com/stream/22227 (here also goes some authentication keys (like this: ?authToken=r%3D1832976%26sid%3D21727%26expires%3D1183840461847%26csum%3Da8edb9e8bb60f1329a4711e230700912&uid=&sessid=) but we can cut them from the URL)
And here's what my proxy server showed (think that it's a sniffer :) ):

Stream URL: http://firehose-bbnm.stream.aol.com:80/stream/22227 (direct use of this link by Winamp causes "HTTP/1.1 400 Bad Request" error.
Content-type: misc/ultravox

Using the above information, I can try to describe a simple uvox protocol scheme:
1. Player gets a uvox:// link with authentication parameters (that we can cut out from the URL) from the .pls file (for example, http://www.winamp.com/bin/om/xm/xmtune.pls?id=radio:aggregate:22317)
2. Then it goes by this link (for example, uvox://firehose-bbnm.stream.aol.com/stream/22227) appending :80 at the end of domain name and http:// instead of uvox://. Plus, it appends a custom content-type information - "misc/ultravox".
3. After this, it begins to decode the stream.

P.S. Hope this will help.
P.P.S. Sorry for my a-bit-stupid English. :)

Brian

I'm afraid your efforts are in vain. AOL has engineered it so that only Winamp can play those streams.

Auren

#121
Brian, thanks for your posts. They make me think different :)

I used Streamripper to rip Ultravox streams. You just need to change useragent to "WinampMPEG/5.35, Ultravox/2.0" and "400 Bad Request" error is gone.
Try yourself:
streamripper http://firehose-bbnm.stream.aol.com:80/stream/22227 -u "WinampMPEG/5.35, Ultravox/2.0"The files are saved with .nsv extension. And, of course, I can't play them with Winamp :). But it's better than nothing.
P.S. Here are some specs: http://ultravox.aol.com/NSVFormat.rtf, http://ultravox.aol.com/NSVFormat.rtf.
P.P.S. Uvox protocol was discussed here: http://forums.winamp.com/showthread.php?threadid=177731 and here http://www.moviecodec.com/topics/3361p1.html. We need a person who will take care about all this :)
P.P.P.S. I found some direct links to various XM radiostations: http://www.mail-archive.com/pc-audio@pc-audio.org/msg28096.html

Brian

As I see it, it's easier just to play the streams in Winamp. I like to use XMPlay for most music formats, but I don't wish to insist that it should be able to handle absolutely everything. And I still quite like Winamp; it functions well, sounds good and has some excellent skins; and it's still possible to keep the installation small by limiting it to just the components you choose.

Ian @ un4seen

Quote from: Auren
Quote from: Ian @ un4seenPlease provide an example stream URL, to see if XMPlay can be made to forward them to the plugins.

http://www.winamp.com/bin/om/xm/xmtune.pls?id=radio:aggregate:22317

I was able to play that URL using the in_mp3 plugin, which I copied from a Winamp v5.111 instalation.

Quote from: AurenThese streams are delivered by their own protocol (uvox://). I don't know if there are any other XM streams using http:// protocol. Maybe the fact that uvox protocol is used makes these difficulties.

No, the "uvox://" is a good thing, as it means XMPlay won't/can't try to play them itself :)

Auren

#124
Quote from: Ian @ un4seenI was able to play that URL using the in_mp3 plugin, which I copied from a Winamp v5.111 instalation.
It was a bit hard to find 5.111 version (official download site redirected me to the player's page when I requested a 5.111's link). But hey, it works! It even plays ripped .nsv streams! :)
I wonder why 5.35 and 2.96 versions didn't work...

Anyway, thank you.

From now, XMPlay plays XMRadio :)