Re: audio/L16
John Stirling <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <[email protected]> |
Yes, I think I can see what's going on now. Thanks.
John
Eric Hyche wrote:
> I just checked httpfsys and it looks like
> if we have a Content-Type that looks like:
>
> ContentType: audio/L16;foo=bar
>
> that we will blow away the ";foo=bar"
> and only use the "audio/L16" part as
> the mime type. Here is the code in httpfsys.cpp:
>
> // Therefore, we should check to see if there's a ';'
> // in the content type. If there is, then only use the string
> // up to that point
> INT32 lSemi = sMimeType.Find(';');
> if (lSemi > 0)
> {
> // We have a semi-colon, so only use the content-type
> // up to the semi-colon but not include it or anything
> // past it
> sMimeType = sMimeType.Left(lSemi);
> }
>
>
> I think the problem is at the beginning
> of HXFileSource::ExtendedSetup(). It
> is getting the Content-Type directly from
> the response headers and calling that the
> mime type directly. It should be doing what
> httpfsys is doing and using only up to
> the ";" as the mime type.
>
> Does that make sense?
>
> Eric
>
> =============================================
> Eric Hyche ([email protected])
> Technical Lead
> RealNetworks, Inc.
>
>
>> -----Original Message-----
>> From: John Stirling [mailto:[email protected]]
>> Sent: Wednesday, June 11, 2008 4:46 AM
>> To: [email protected]
>> Cc: [email protected]
>> Subject: Re: [Helix-client-dev] audio/L16
>>
>> Eric Hyche wrote:
>>
>> Ohhh.. so "audio/L16;rate=48000;channels=2" is
>> the Content-Type coming from an http server?
>>
>>
>> Yes. This is what the DNLA test suite gives us.
>>
>>
>>
>>
>> I guess I had thought that audio/L16 was the stream
>> mime type coming from an RTSP server, in which case
>> it would go directly to the pcm renderer.
>>
>> I think you are right - I think we take the Content-Type
>> string directly and don't strip whatever is past the
>> ";". You might check the HTTP spec to see what
>> it says about Content-Type. I've never seen parameters
>> munged onto a mime type like that.
>>
>> But your fix sounds essentially correct - strip the
>> ";rate=48000;channels=2" from the Content-Type so that
>> the stream gets picked up by the au file format. The
>> rate and channels should get changed to headers in
>> the request and then you would need to add code in the
>> au file format to look for the parameters in the
>> request headers and add them to the stream header,
>> since the PCM renderer will be looking for those
>> to be set in the stream header of the audio/L16 stream.
>>
>>
>> I can persuade the auffrormat plugin to get loaded with this
>> change to hxflsrc.cpp:
>>
>> (hxflrcs.cpp)
>> if (pMimeType)
>> {
>> printf("HXFileSource::AttempToLoadFilePlugin 7\n");
>>
>> // Ignore anything following a ';' when doing the
>> plugin lookup
>> char *pTemp = strchr((char*)pMimeType, ';');
>> if (pTemp)
>> *pTemp = 0x00;
>>
>>
>> pPlugin2Handler3->FindGroupOfPluginsUsingStrings(PLUGIN_CLASS,
>> PLUGIN_FILEFORMAT_TYPE,
>> PLUGIN_FILEMIMETYPES, (char*)pMimeType, 0, 0,
>> m_pFileFormatEnumerator);
>>
>> // Restore full mimetype - this is what gets
>> passed into fileformat
>> if (pTemp)
>> *pTemp = ';';
>> }
>>
>> I was hoping that would pick out the au fformat and also pass
>> the full mimetype through to it..
>> Can you explain in a but more detail how the sample rate and
>> channels should get passed in to the au fformat ? (ie expand
>> on 'headers in the request')
>>
>>
>>
>>
>> Eric
>>
>> =============================================
>> Eric Hyche ([email protected])
>> Technical Lead
>> RealNetworks, Inc.
>>
>>
>>
>> -----Original Message-----
>> From: John Stirling [mailto:[email protected]]
>> Sent: Tuesday, June 10, 2008 12:24 PM
>> To: [email protected]
>> Cc: [email protected]
>> Subject: Re: [Helix-client-dev] audio/L16
>>
>> I've been tracking this down today. Not quite
>> worked it out,
>> but getting closer..
>>
>> A mimetype of audio/L16 seems to end up in
>> aufformat. It then
>> fails in there due to lack of a valid header.
>>
>> If I hard code the sample rate etc in aufformat
>> then the file
>> can play (via pcm/renderer).
>>
>> A mimetype of audio/L16;rate=48000;channels=2
>> just ends up
>> with a NO_RENDERER/FILEFORMAT error presumably
>> because it
>> checks for a match against the complete mimetype string
>> rather than just the stuff before the ';'.
>>
>> So, I think I need to make the extended
>> mimetype result in
>> the aufformat being loaded and then I need to
>> extract the
>> sample rate etc from the stuff after the ';'.
>>
>> Does that sound correct ? Also, if you think
>> that should be
>> supported already let me know as I can't see it.
>>
>> John
>>
>>
>>
>> Eric Hyche wrote:
>>
>> John,
>>
>> I would think these streams should play in
>> datatype/wav/pcm/renderer.
>>
>> Eric
>>
>> =============================================
>> Eric Hyche ([email protected])
>> Technical Lead
>> RealNetworks, Inc.
>>
>>
>>
>> -----Original Message-----
>> From:
>> [email protected]
>>
>> [mailto:[email protected]] On
>> Behalf Of John Stirling
>> Sent: Tuesday, June 10, 2008 4:57 AM
>> To: [email protected]
>> Subject: Re: [Helix-client-dev]
>> audio/L16
>>
>> fyi - some sample mime types
>> returned by the
>> dlna tester:
>>
>> audio/L16;rate=48000;channels=2
>>
>>
>> audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;DLNA.ORG_FLAG
>> S=81100000000000000000000000000000
>>
>>
>> audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01
>>
>>
>> John Stirling wrote:
>>
>> We need to be able to
>> play audio/L16
>> content (for DLNA
>> compliance).
>>
>> A sample file is here:
>>
>> http://copper.reciva.com/audiofiles/B-LPCM-1.pcm
>> (obtained via
>> http://issues.simplecenter.org/browse/SC-1074)
>>
>> Would you expect helix
>> to be able to
>> play this content
>> ? If so, is there any
>> HELIX_FEATURE we might be
>> missing ?
>>
>> I can see audio/L16
>> referenced in the
>> code, but haven't
>> dug much further than that.
>>
>> We have audplin.so
>> built and can play
>> .au, .wav, .aiff content.
>>
>>
>> https://datatype.helixcommunity.org/
>> only mentions:
>>
>>
>> * Uncompressed
>> PCM from .wav,
>> avi, .aiff or .au
>> files and standard RTP streams
>> * PCM a-law and
>> u-law from .wav,
>> avi or .au files
>> and standard RTP streams
>>
>>
>> John
>>
>>
>>
>>
>>
>>
>>
>> ________________________________
>>
>>
>>
>> _______________________________________________
>> Helix-client-dev mailing list
>>
>> [email protected]
>>
>>
>>
>> http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev