iPad and iPhone

Discuss alternative media renderers (not PS3) supported by PS3 Media Server (e.g. Xbox 360, TVs &c.)

Re: iPad and iPhone

Postby Raptor399 » Sun Jul 17, 2011 8:17 am

There are reports of this iPad-iPhone.conf conflicting with other renderers:

chocolateboy wrote:User-agent regex conflicts with existing renderer confs e.g.:

Platinum: XBMC
DLNADOC: FreecomMusicPal, Kuro

https://code.google.com/p/ps3mediaserve ... id=1116#c1


There is overlap indeed. However, the iPad-iPhone.conf should not cause any ruckus because it is using the most narrow definition:

Code: Select all
#  iPad-iPhone.conf
UserAgentSearch=AirPlayer/|Lavf|Platinum/.*DLNADOC/|yxplayer2|MPlayer |NSPlayer/

# Kuro.conf
UserAgentSearch=POSIX UPnP/1.0 DLNADOC/1.50 UPnP SDK/1.6.0

# XBMC.conf
UserAgentSearch=Neptune|Platinum|XBMC

To match one of the players used by the app "yxplayer2" it uses the fragment "Platinum/.*DLNADOC", meaning a match requires both "Platinum" and "DNLADOC" to appear on the same line.

This means there is no conflict with "Kuro.conf", which matches the full line "POSIX UPnP/1.0 DLNADOC/1.50 UPnP SDK/1.6.0".

However, there is overlap with "XBMC.conf", which matches the more general "Platinum" without further detailing.
The new iPad-iPhone.conf should not cause a conflict with that unless XBMC also passes on a User-Agent header that also contains both "Platinum" and "DLNADOC".

Strangely enough the devices are determined correctly by PMS!
Meaning: the more general "XBMC.conf" does not show up as the renderer for the "yxplayer2" app. I experimented with removing that particular useragentsearch bit and indeed, XBMC was detected.

So the current detection scheme does seem to work out right, even though there is unintended overlap.

On a side note: the app "yxplayer2" has pretty crappy support for movie playback right now, read: we could simply drop support for it and not lose much.
It is the only free solution I got working though.

Also chocolateboy suggests:

chocolateboy wrote:iOS renderers that report generic/common DLNA libraries/user agents would be better handled with a) dedicated renderer confs (e.g. AirPlayer.conf) and b) additional probes for identifying headers i.e.:

UserAgentAdditionalHeader=Header Name
UserAgentAdditionalHeaderSearch=Header Value


I think you are right.
My intention was to detect the devices, but examining the traffic it turns out that the headers are very app specific and often do not hint about the device at all. And there are quite a few apps available...

On top of that, there are rarely ever any useful additional headers sent.

Also, apps use multiple players internally, meaning one app can return several User-Agent headers. Mkv could be handled by one player, avi by another, ogg by a third etc., each resulting in a different User-Agent header.

All that makes device detection a very tricky business.
Having an "AirPlayer.conf" will at least narrow down the amount of clutter a bit.
Raptor399
Project Member
 
Posts: 1916
Joined: Thu Mar 10, 2011 12:06 am

Re: iPad and iPhone

Postby DeFlanko » Sun Jul 17, 2011 5:44 pm

It would be nice if someone from this community (sadly to say) followed the steps of XMBC and build out a Mobile Client. Honestly doing that first would solve a lot of problems with troubleshooting then trying to deal with third party apps. I think the best Base system to use is still HTML5... but it could be just Android/iOS specific..

Otherwise isant it just a band-aid type fix? I think its safe to say if you want streaming media to your Mobile device a paid app is the way to go right now.
Developed a few CONF files...
DeFlanko
 
Posts: 111
Joined: Sat Dec 05, 2009 6:49 pm
Location: San Pedro, CA

Re: iPad and iPhone

Postby Raptor399 » Mon Jul 18, 2011 11:51 pm

In r756 I have split the AirPlayer settings to a new "AirPlayer.conf".

I also tried to use MediaInfo=true, but I ended up with far worse playback than before. :-(
Movies seem to start somewhere near the end and get stuck in a loop. Examining the TRACE messages shows weird ranges being requested ("Asked stream chunk [94320576-100000000000] timeseek: 0.0").

So I weasled out and added the following lines:

Code: Select all
# FIXME: Remove these two lines when the supported definitions are functioning properly
MediaInfo=false
StreamExtensions=avi,m4v,mkv,mov,mp4,ogg,rmvb,xvid,hdmov,hdm,flac,fla,dts,asf,asx,m2v

# FIXME: Playback is terrible with the supported definitions below
#MediaInfo=true

How does one indicate in the new Supported format that a file should be passed "as is" without passing them through mencoder?
Raptor399
Project Member
 
Posts: 1916
Joined: Thu Mar 10, 2011 12:06 am

Re: iPad and iPhone

Postby DeFlanko » Tue Jul 19, 2011 12:59 am

First off:
Code: Select all
[New I/O server worker #1-1] INFO  16:53:54.763 Renderer AirPlayer found on this address: /172.10.1.40
[New I/O server worker #1-1] INFO  16:53:56.770 Renderer AirPlayer has an estimated network speed of: 7 Mb/s


Nice....

  • where do i put the AirPlay.png? or is that apart of some super secret squirrl folder...
  • After doing this i was able to playback MKV's...
    Code: Select all
    TranscodedVideoFileSize=-1


    Leaving it like below crashed AirPlayer on iPhone 3GS:
    Code: Select all
    #TranscodedVideoFileSize=0


    taconaut wrote:I've also had success with AirPlayer. With the default renderer configuration and turning the feature to use quicktime off in the player, low res videos play fine on both pad and phone. High res videos always get out of sync for A/V and the video stutters.
    Its an Air Player Application/iPhone limitation issue, Apple restricts Hardware decoding only to Apple files, everything else is software decoding.
    taconaut wrote:I think the best thing would be to be able to create a renderer configuration transcoding the A/V tracks to quicktime playable files; resizing the video to the used resolution and converting the audio track to one natively supported by quicktime. Haven't tried it yet though.
    Thanks for the efforts :)


    Does this help?:
    Code: Select all
    # Max Width and Height supported by the media renderer (0=unlimited)
    # Max Resolutions: iPad = 1024 x 768, iPhone4 = 960x640, iPhone 3GS = 480 x 320.
    MaxVideoWidth=1024
    MaxVideoHeight=768


    ..and i dont know if editing this will hurt or help( by adding w:1024 and h:768)... can anyone shed light on these settigns as opposed to the above MaxVideoWidth=/MaxVideoHeight=
    Code: Select all
    # [Supported video formats]:
    Supported = f:avi|divx      v:mp4|divx|mjpeg      n:2   a:mp3|lpcm|mpa|ac3   m:video/x-divx
    Supported = f:mov                              m:video/quicktime
    Supported = f:mp4         v:mp4|h264      n:2   a:ac3|aac         m:video/mp4
    Supported = f:mpegps|mpegts|mkv   v:mpeg1|mpeg2|mp4|h264   n:2   a:ac3|lpcm|aac|mpa      m:video/mpeg
    Supported = f:ogg         v:ogg         n:2   a:mp3|lpcm|mpa|ac3   m:application/ogg
    Supported = f:rm         v:rm         n:2   a:ra         m:application/vnd.rn-realmedia
    Supported = f:wmv         v:wmv|vc1      n:2   a:wma         m:video/x-ms-wmv

  • Adding:
    Code: Select all
    TranscodeExtensions=mkv

    Spit out this: (So I guess you cant transcode MKV's with MEncoder...)
    Code: Select all
    [New I/O server worker #1-2] INFO  20:27:25.392 Starting transcode/remux of Apollo_13.mkv
    [New I/O server worker #1-1] INFO  20:27:25.501 java.lang.ArrayIndexOutOfBoundsException: 88
    [New I/O server worker #1-1] INFO  20:27:25.501    at java.util.ArrayList.add(Unknown Source)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.util.CodecUtil.getPossibleCodecs(CodecUtil.java:32)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.encoders.MEncoderVideo.getSpecificCodecOptions(MEncoderVideo.java:1905)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.encoders.MEncoderVideo.launchTranscode(MEncoderVideo.java:1243)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.dlna.DLNAResource.getInputStream(DLNAResource.java:1291)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.network.RequestV2.answer(RequestV2.java:196)
    [New I/O server worker #1-1] INFO  20:27:25.517    at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:210)
    [New I/O server worker #1-1] INFO  20:27:25.517    at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:184)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:116)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
    [New I/O server worker #1-1] INFO  20:27:25.532    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    [New I/O server worker #1-1] INFO  20:27:25.532    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    [New I/O server worker #1-1] INFO  20:27:25.532    at java.lang.Thread.run(Unknown Source)
    [New I/O server worker #1-2] INFO  20:27:25.532 java.lang.NullPointerException
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.encoders.MEncoderVideo.getSpecificCodecOptions(MEncoderVideo.java:1912)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.encoders.MEncoderVideo.launchTranscode(MEncoderVideo.java:1243)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.dlna.DLNAResource.getInputStream(DLNAResource.java:1291)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.network.RequestV2.answer(RequestV2.java:196)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:210)
    [New I/O server worker #1-2] INFO  20:27:25.564    at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:184)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:116)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
    [New I/O server worker #1-2] INFO  20:27:25.626    at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
    [New I/O server worker #1-2] INFO  20:27:25.626    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
    [New I/O server worker #1-2] INFO  20:27:25.658    at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
    [New I/O server worker #1-2] INFO  20:27:25.658    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    [New I/O server worker #1-2] INFO  20:27:25.658    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    [New I/O server worker #1-2] INFO  20:27:25.658    at java.lang.Thread.run(Unknown Source)

  • Application Troubleshooting:
    AirPlayer Decoding and iPhone3Gs CPU usage.

    This helped A LOT!! SUPER smooth Playback... - AirPlayer - Skip Frame to OFF
Last edited by DeFlanko on Tue Jul 19, 2011 1:56 am, edited 1 time in total.
Developed a few CONF files...
DeFlanko
 
Posts: 111
Joined: Sat Dec 05, 2009 6:49 pm
Location: San Pedro, CA

Re: iPad and iPhone

Postby Raptor399 » Tue Jul 19, 2011 7:36 am

DeFlanko wrote:
  • where do i put the AirPlay.png? or is that apart of some super secret squirrl folder...

Nowhere. It is compiled into the pms.jar as a resource, only rebuilding PMS will help.

DeFlanko wrote:
  • After doing this i was able to playback MKV's...
    Code: Select all
    TranscodedVideoFileSize=-1


    Leaving it like below crashed AirPlayer on iPhone 3GS:
    Code: Select all
    #TranscodedVideoFileSize=0

Ah, interesting!

DeFlanko wrote:..and i dont know if editing this will hurt or help( by adding w:1024 and h:768)... can anyone shed light on these settigns as opposed to the above MaxVideoWidth=/MaxVideoHeight=
Code: Select all
# [Supported video formats]:
Supported = f:avi|divx      v:mp4|divx|mjpeg      n:2   a:mp3|lpcm|mpa|ac3   m:video/x-divx
Supported = f:mov                              m:video/quicktime
Supported = f:mp4         v:mp4|h264      n:2   a:ac3|aac         m:video/mp4
Supported = f:mpegps|mpegts|mkv   v:mpeg1|mpeg2|mp4|h264   n:2   a:ac3|lpcm|aac|mpa      m:video/mpeg
Supported = f:ogg         v:ogg         n:2   a:mp3|lpcm|mpa|ac3   m:application/ogg
Supported = f:rm         v:rm         n:2   a:ra         m:application/vnd.rn-realmedia
Supported = f:wmv         v:wmv|vc1      n:2   a:wma         m:video/x-ms-wmv

All of the "Supported" settings only work when "MediaInfo=true". It gives you a much more fine grained control over all supported formats.
However, setting it to true gave me terrible results; the "Supported" settings need to be corrected first.

DeFlanko wrote:
  • Adding:
    Code: Select all
    TranscodeExtensions=mkv

    Spit out this: (So I guess you cant transcode MKV's with MEncoder...)
    Code: Select all
    [New I/O server worker #1-2] INFO  20:27:25.392 Starting transcode/remux of Apollo_13.mkv
    [New I/O server worker #1-1] INFO  20:27:25.501 java.lang.ArrayIndexOutOfBoundsException: 88
    [New I/O server worker #1-1] INFO  20:27:25.501    at java.util.ArrayList.add(Unknown Source)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.util.CodecUtil.getPossibleCodecs(CodecUtil.java:32)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.encoders.MEncoderVideo.getSpecificCodecOptions(MEncoderVideo.java:1905)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.encoders.MEncoderVideo.launchTranscode(MEncoderVideo.java:1243)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.dlna.DLNAResource.getInputStream(DLNAResource.java:1291)
    [New I/O server worker #1-1] INFO  20:27:25.501    at net.pms.network.RequestV2.answer(RequestV2.java:196)
    [New I/O server worker #1-1] INFO  20:27:25.517    at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:210)
    [New I/O server worker #1-1] INFO  20:27:25.517    at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:184)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:116)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
    [New I/O server worker #1-1] INFO  20:27:25.517    at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
    [New I/O server worker #1-1] INFO  20:27:25.532    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    [New I/O server worker #1-1] INFO  20:27:25.532    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    [New I/O server worker #1-1] INFO  20:27:25.532    at java.lang.Thread.run(Unknown Source)
    [New I/O server worker #1-2] INFO  20:27:25.532 java.lang.NullPointerException
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.encoders.MEncoderVideo.getSpecificCodecOptions(MEncoderVideo.java:1912)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.encoders.MEncoderVideo.launchTranscode(MEncoderVideo.java:1243)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.dlna.DLNAResource.getInputStream(DLNAResource.java:1291)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.network.RequestV2.answer(RequestV2.java:196)
    [New I/O server worker #1-2] INFO  20:27:25.532    at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:210)
    [New I/O server worker #1-2] INFO  20:27:25.564    at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:184)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:116)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
    [New I/O server worker #1-2] INFO  20:27:25.564    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
    [New I/O server worker #1-2] INFO  20:27:25.595    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
    [New I/O server worker #1-2] INFO  20:27:25.626    at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
    [New I/O server worker #1-2] INFO  20:27:25.626    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
    [New I/O server worker #1-2] INFO  20:27:25.658    at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
    [New I/O server worker #1-2] INFO  20:27:25.658    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    [New I/O server worker #1-2] INFO  20:27:25.658    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    [New I/O server worker #1-2] INFO  20:27:25.658    at java.lang.Thread.run(Unknown Source)

ArrayIndexOutOfBoundsException, eh? :shock:
That's not good. I'll have a look.
Thanks for sharing your results!
Raptor399
Project Member
 
Posts: 1916
Joined: Thu Mar 10, 2011 12:06 am

Re: iPad and iPhone

Postby DeFlanko » Thu Jul 21, 2011 12:35 am

Sure thing, like i stated earlier, i would to help more if i can =)
Developed a few CONF files...
DeFlanko
 
Posts: 111
Joined: Sat Dec 05, 2009 6:49 pm
Location: San Pedro, CA

Re: iPad and iPhone

Postby Raptor399 » Sun Jul 24, 2011 11:55 pm

I was playing a bit with AirPlayer.conf settings and all of a sudden I got this:

Code: Select all
[New I/O server worker #1-8] INFO  00:16:47.700 Starting transcode/remux of big_buck_bunny_1080p_h264.mov
[New I/O server worker #1-7] INFO  00:16:47.701 Starting transcode/remux of big_buck_bunny_1080p_h264.mov
[New I/O server worker #1-8] INFO  00:16:47.746 java.util.ConcurrentModificationException
[New I/O server worker #1-8] INFO  00:16:47.747    at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
[New I/O server worker #1-8] INFO  00:16:47.747    at java.util.AbstractList$Itr.next(AbstractList.java:343)
[New I/O server worker #1-8] INFO  00:16:47.747    at net.pms.encoders.MEncoderVideo.getSpecificCodecOptions(MEncoderVideo.java:1911)
[New I/O server worker #1-8] INFO  00:16:47.748    at net.pms.encoders.MEncoderVideo.launchTranscode(MEncoderVideo.java:1245)
[New I/O server worker #1-8] INFO  00:16:47.748    at net.pms.dlna.DLNAResource.getInputStream(DLNAResource.java:1303)
[New I/O server worker #1-8] INFO  00:16:47.749    at net.pms.network.RequestV2.answer(RequestV2.java:258)
[New I/O server worker #1-8] INFO  00:16:47.749    at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:220)
[New I/O server worker #1-8] INFO  00:16:47.749    at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:194)
[New I/O server worker #1-8] INFO  00:16:47.749    at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
[New I/O server worker #1-8] INFO  00:16:47.750    at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:116)
[New I/O server worker #1-8] INFO  00:16:47.750    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
[New I/O server worker #1-8] INFO  00:16:47.751    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
[New I/O server worker #1-8] INFO  00:16:47.751    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
[New I/O server worker #1-8] INFO  00:16:47.752    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
[New I/O server worker #1-8] INFO  00:16:47.752    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[New I/O server worker #1-8] INFO  00:16:47.753    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[New I/O server worker #1-8] INFO  00:16:47.753    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
[New I/O server worker #1-8] INFO  00:16:47.753    at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
[New I/O server worker #1-8] INFO  00:16:47.754    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
[New I/O server worker #1-8] INFO  00:16:47.754    at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
[New I/O server worker #1-8] INFO  00:16:47.755    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[New I/O server worker #1-8] INFO  00:16:47.755    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[New I/O server worker #1-8] INFO  00:16:47.755    at java.lang.Thread.run(Thread.java:680)
[New I/O server worker #1-9] INFO  00:16:54.115 Starting transcode/remux of big_buck_bunny_1080p_stereo.ogg
[New I/O server worker #1-10] INFO  00:16:54.142 Starting transcode/remux of big_buck_bunny_1080p_stereo.ogg


The ConcurrentModificationException explains the strange error reported earlier: ArrayIndexOutOfBoundsException should not occur in that piece of code. But concurrent threads can open up a whole new can of worms... :roll:

It seems that PMS starts up two threads to serve the content to the app. Note that the exception causes two new threads to spawn to transcode the next movie in the list.

Mind you, I run PMS in debug mode in Eclipse. PMS was just started fresh as was the AirPlayer app on the iPhone.
This was the first time I encountered this error, but I do always get double "Starting transcode/remux" messages with the app.
Accessing PMS from the PS3 I always get single "Starting transcode/remux" messages. :?
Raptor399
Project Member
 
Posts: 1916
Joined: Thu Mar 10, 2011 12:06 am

Re: iPad and iPhone

Postby DeFlanko » Mon Jul 25, 2011 1:25 am

Correction:

Yes that happens to me as well.
Developed a few CONF files...
DeFlanko
 
Posts: 111
Joined: Sat Dec 05, 2009 6:49 pm
Location: San Pedro, CA

Re: iPad and iPhone

Postby Olof » Wed Jul 27, 2011 6:54 am

Has anyone seriously been trying to get playback with 8Player to work? Any success?

If I am to start to tweaking my own .conf-file for 8Player, what is a good starting point?
I'm thinking of starting with the AirPlayer.conf and editing the identification stuff. But then what?
I actually have not found any .conf-file specification anywhere. Where can I find info on that?

/Olof
Olof
 
Posts: 13
Joined: Tue Jan 19, 2010 9:56 am

Re: iPad and iPhone

Postby DeFlanko » Wed Jul 27, 2011 3:15 pm

Olof wrote:Has anyone seriously been trying to get playback with 8Player to work? Any success?

If I am to start to tweaking my own .conf-file for 8Player, what is a good starting point?
I'm thinking of starting with the AirPlayer.conf and editing the identification stuff. But then what?
I actually have not found any .conf-file specification anywhere. Where can I find info on that?

/Olof


where do you get 8player? ill see if i can help you out.
Developed a few CONF files...
DeFlanko
 
Posts: 111
Joined: Sat Dec 05, 2009 6:49 pm
Location: San Pedro, CA

PreviousNext

Return to Alternative Media Renderers

Who is online

Users browsing this forum: No registered users and 4 guests