RE: audio/L16
"Eric Hyche" <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Organization | RealNetworks, Inc. |
| Message-ID | <00d901c8ccab$46d8daf0$db68a8c0@EHYCHED620> |
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