-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged support for audio/L16 mimetype from andrewfg PR 251 #777
Conversation
compiles fine on win32 but two things I noticed:
At least the PCM S16 LE araw plays fine without this patch. |
Builds for ios/atv2 and linux. But i'm too struggling with testfiles and test procedure here. |
http://tools.ietf.org/html/rfc2586 audio/L16 L16 denotes uncompressed audio data, using 16-bit signed representation in twos-complement notation and network byte order. |
is it possible that we should be using Endian_SwapLE16 instead of Endian_Swap? |
I think we should be using ntohs instead of Endian_Swap to make sure it works on all system. Input is expected to be BigEndian (network byte order). |
To test find a raw pcm in BigEndian format. |
Fine by me. |
I think it should use ntohs instead of EndianzSwap otherwise it might not work on Linux system right? -s On Mar 18, 2012, at 4:43 AM, Joakim Plate reply@reply.github.com wrote:
|
EndianSwap16() definitely isn't right - it'll swap it to LE regardless of host. We want the equivalent of EndianSwapBE16 instead (currently non-existent), which won't swap on a BE host. I personally don't mind if ntohs is used if it's universally available, but given it's not currently used in the XBMC codebase, perhaps using EndianSwapBE16() is better - will append a patch. |
ntohs is used in many places in xbmc. -s On Mar 18, 2012, at 5:27 PM, jmarshallnz reply@reply.github.com wrote:
|
I probably typo'd the random string of characters in my grep :p I don't have any preference whatsoever - I merely took the route of least resistance that didn't involve having to play with headers (I think <netinet/in.h> is OK on win32 but didn't want to be bothered looking into it). You're welcome to change it to use ntohs if you prefer - send details and I'll slot it in. It'd be great if you (or someone) could supply a sample file so that others can test it out - they appear to be thin on the ground. |
You are right. I created a EndianSwapBE16 function. I also fixed an issue where wav file were playing noise now. That's because wav somehow end up with audio/l16 mimetype which triggered the PCMCodec incorrectly. Now why wav have this mimetype I don't get it. I have the fixes, should I close this request and pull a new one? |
ok I see you did the same thing ;-) |
Added a sample .l16 file for testing http://cl.ly/F8Da |
Just link me the fixes and I'll pull 'em in to this branch. |
wave files seem to work fine for me. Have checked the .l16 file you linked to - works fine. |
Excellent. Then we're good. -s Sent from my iPad On Mar 18, 2012, at 10:11 PM, jmarshallnz reply@reply.github.com wrote:
|
Does the PR wholly subsume PR251? I believe this will enable direct play of lossless streams from logitech music server (squeezebox ecosystem) if so, so I am curious as my add on is in this area... |
yes it does. What's lossless streams from logitech? |
Confirmed, that that test file didn't play before this PR (xbmc just crashed) and played after applying the patch. Tested on OSX and iOS. So basically funk is flowing through my veins now :) |
Basically Logitech Media Server is a music (I think it does pictures and A long time ago Squeezeboxes were the most awesome network music players, My add on currently includes an external headless software player, but It's all purely an exercise for me - I just use XBMC's internal music On Tue, Mar 20, 2012 at 6:22 AM, Memphiz <
|
Flax and L16 are different. -s On Mar 19, 2012, at 3:55 PM, bossanova808 reply@reply.github.com wrote:
|
Yep I know that, I believe LMS transcodes to PCM16 - the PR251 was all |
Merged support for audio/L16 mimetype from andrewfg PR 251
…development * change_postprocess_ignore_hidden_pass_nzb_delete: closes xbmcgh-803 Change PostProcessing checks and rules + Change replace rules and inner workings closes xbmcgh-393 + Include PR-620-jayme-github Process files by size but reversed (biggest first) closes xbmcgh-620 + Add postProcessor checks: status, quality/filesize, already processed closes xbmcgh-629 + Change search for airdate in database instead of thetvdb + Add tv download dir as default manual post-process directory closes xbmcgh-722 + Add is_proper to nameparser + Change use quality from snatch history instead of status quality + PEP8 Add ignore hidden, pass nzb, delete empty to processTV Add ignore hidden subfolders (subfolder starts with .) Removing ignored_filestrings from postProcessor because subfolders with . are not being processed. Add pass (inherit) nzbName to subfolder When no videofiles are in the mainfolder and there is only one subfolder, pass nzbName to subfolder Add delete empty folder closes xbmcgh-777 For now only delete empty folders on scripts and automatic. Safety net, with manual it's easier to browse and select root folder + Change some logging and error messages closes xbmcgh-702 closes xbmcgh-664 closes
c0diq thinks this should be Eden material.
As far as I can tell, the changes are both sane (fixes a bug) and have minimal impact.
Tested build on osx. Needs build test on win32/ios/atv2, plus general signoff.