Re: audio/L16

John Stirling <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.