Feed for discussion Development in project Multimedia. http://community.qnx.com/sf/discussion/do/listTopics/projects.multimedia/discussion.development Posts for Development post101073: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post101073 qdbc is a standard QNX 6.5.0 binary. When you install the 6.5.0 runtime, this binary should already be included. Regards, Gilles Gilles Roy 2013-05-02T02:33:10Z post101072: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post101072 Hi im a student trying to use QDB for the first time and i'm wondering where can i get qdbc? please enlighten me Jian Rong Yong 2013-05-02T02:27:11Z post100057: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post100057 Hi Gilles, Thanks for your reply. I am new to both DBMS and qdb. I didn't understand your reply. Could you please explain it little details. Kathirvel Kuppusamy 2013-03-20T16:40:51Z post100056: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post100056 It sounds like your application is directly modifying the underlying DB file. Regards, Gilles Gilles Roy 2013-03-20T16:37:00Z post100049: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post100049 Executing the same logic from command line interface before "application" execution, it works fine. Kathirvel Kuppusamy 2013-03-20T15:32:16Z post100048: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post100048 1) Is QDB running? QDB process is running after executing the example code 2) What does the output of "pidin arg" show? Displays that QDB process is running 3) What does the output of "ls -al /dev/qdb" show? Shows the database which was created by my application and size of that file is 0. Refer to attachement (ls_l_qdb_dev.jpg) 4) try using qdbc to run your query: qdbc -d&lt;name_of_db&gt; "SELECT ...." I tried using "INSERT INTO" command after executing the example code, got the following error file is encrypted or is not a database(S26) Refer to attcahment (INSERT_INTO.jpg) Kathirvel Kuppusamy 2013-03-20T15:30:17Z post100042: Re: Query related QDB - Client API usage http://community.qnx.com/sf/go/post100042 I don't think there is any details for use to help. 1) Is QDB running? 2) What does the output of "pidin arg" show? 3) What does the output of "ls -al /dev/qdb" show? 4) try using qdbc to run your query: qdbc -d&lt;name_of_db&gt; "SELECT ...." Regards, Gilles Gilles Roy 2013-03-20T14:14:01Z post100040: Query related QDB - Client API usage http://community.qnx.com/sf/go/post100040 Hello Everyone, I have created a "C Application" to play around with qdb and I have plan to use it in my actual project later. I am facing the following issue - "database get results api returns - Input/Output error". I copied the DB to local system and tried opening using SQLite Browser - "file is encrypted or is not a database" error. Logic implemented in Application 1) Connect to database 2) Insert an data 3) Operate on that data(SELECT) and get the results of that operation. I followed the same code in "QDB Examples" of QNX documentation. Please provide some guidance to go ahead. Kathirvel Kuppusamy 2013-03-20T14:09:56Z post99205: Webkit running on QNX 6.5.0 http://community.qnx.com/sf/go/post99205 I'm having trouble getting the webkit browser window to show in tandem with a embedded Flash interface as demonstrated in QNX-CAR VMware where the Flash based browser controls appear around the browser. In my flash based interface I can get the webkit browser to appear but it seems to completely overlay the Flash interface. The browser shows graphics, and can be controlled via pps control object. However the onscreen browser, with sized defined smaller than the screen, shows black in areas where I'd like Flash to show through. How can I get the browser to appear with Flash? Ralph Canapa 2013-02-11T16:48:53Z post97804: QSA errors http://community.qnx.com/sf/go/post97804 Hi all! Here some problems when referring to QSA calls. - snd_pcm_plugin_params fails with error "invalid argument", though the pcm handle is valid and the snd_pcm_channel_params_t structure is initialized; - also, snd_pcm_plugin_params fails if the format is set to SND_PCM_SFMT_FLOAT_LE or SND_PCM_SFMT_FLOAT_BE; - snd_pcm_channel_status_t: the stime member is always to 0, though the time member in snd_pcm_channel_params_t is set to 1. Where can be the problem? Thank you very much! G. a g 2012-12-05T10:54:38Z post96625: Re: Using Simple Remote Lingo by means of QNX Aviage Multimedia Interface for iPod 1.2.1 http://community.qnx.com/sf/go/post96625 Hello Given the licensing restrictions and other agreements related to iPod, we are unable to discuss our implementation in public forums. Please go through your existing support contacts to discuss this and any other issues related to iPod. Regards, &gt; Jim Gilderson 2012-10-25T14:08:16Z post96617: Using Simple Remote Lingo by means of QNX Aviage Multimedia Interface for iPod 1.2.1 http://community.qnx.com/sf/go/post96617 Hello, I'm using the QNX Aviage Multimedia Interface for iPod 1.2.1 to control an iPod. To my knowledge (besides the Extended Interface Lingo) you can use the simple remote lingo to control an apple device using ContextButtonStatus-Commands (Play, Stop, Next Track etc.). Unfortunately the "ipod_smplrmt_button"-Command has no effect. Using a high verbose (=6) regarding the iPod driver I see, that the ContextButtonStatus-Command is correctly send to and acknowledged by the apple device. What's the trick to control the apple device using the "ipod_smplrmt_*" commands? Is it really possible to use the "ipod_smplrmt_*" commands to control the ipod as specified in the MFI? Or is the simple remote lingo supported by QNX restricted to iPod Out? To control the iPod by means of the extended interface is completely unproblematic.The procedure is simply 1. connecting to the apple device (ipod_connect()) 2. use the "ipod_smplrmt_button" command (for instance IPOD_BUTTON_CONTEXT_NEXT_TRACK [playback engine is not empty]). I'm looking forward that anybody can give me a hint. Andreas Kruschwitz 2012-10-25T12:36:36Z post94521: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94521 Thank you. Back to coding now... :) Yuh-Fwu Guu 2012-07-30T18:05:59Z post94519: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94519 Yes, your plan would work as long as your goal was to treat media from all USB sticks as if it was available in one tracksession. Note: you'll want to update your tracksession after files pass (1st pass) of the newly inserted mediastore is complete. -- Ryan J. Allen QNX Software Systems Ryan Allen 2012-07-30T17:21:01Z post94518: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94518 Ryan, If I had only one USB stick inserted and created a track session using the following statement... select fid from library where msid in (select msid from mediastores where (mountpath="/fs/usb0" or mountpath="/fs/usb1" or mountpath="/fs/usb2" or mountpath="/fs/usb3") and available=1) I used to create a new track session when I detected any of the other USB sticks was inserted, my understanding now is that I can use the mme_trksessionview_update() to refresh the files in the track session and have new files included when any of the other USB was inserted or removed. So there is really no need to call mme_settrksession() anymore if all I needed are the files from any of those possible mediastores, is this correct? Thanks. Yuh-Fwu Guu 2012-07-30T17:17:41Z post94516: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94516 Thank you Ryan, Off to write the code now. Yuh-Fwu Guu 2012-07-30T15:19:47Z post94515: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94515 Yes, trksessionview_update will update the play order. It should not affect the currently playing fid. You should ensure that your playing fid remains in the tracksession. The fids themselves will not change by using this call. The position of the fid in the tracksession may change, and the random position of the fid in the tracksession will definitely change. -- Ryan J. Allen QNX Software Systems Ryan Allen 2012-07-30T15:10:46Z post94514: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94514 Will calling mme_trksessionview_update() affects what's being played back at the time the call was made in any way (stops the file currently being playback, etc)? In the MME API documentation for mme_trksessionview_update(), it says... "For both library-based and file-based track sessions, a call to mme_trksessionview_update() refreshes the pseudo-random order of the tracks in the track session." Does it means the files (same file from USB_1 for example) will get a different fid, when USB_2 was inserted and mme_trksessionview_update() was called? Yuh-Fwu Guu 2012-07-30T14:56:22Z post94513: Re: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94513 MME will not automatically refresh the tracksession to include the new files. You will have to call mme_trksessionview_update() to have it re-run the query. After this the tracksession should contain tracks from both mediastores. If a user disconnects USB_1 (/fs/usb0) while playback is still occurring on that mediastore you will likely receive playback errors. MME will try to play additional tracks and will, most likely, hit the consecutive play error count limit and stop playback completely. You should have to update the tracksession query and re-issue the play command. How you handle ejections and insertions of mediastores will depend on how you want your product to behave. Some products will limit the scope of tracksessions to a single mediastore (only tracks from USB_1 or USB_2 but not both); other products will play files across a number of different connected mediastores. -- Ryan J. Allen QNX Software Systems Ryan Allen 2012-07-30T14:09:00Z post94512: How to handle mediastore addition and deletion during playback? http://community.qnx.com/sf/go/post94512 Hello, I have MME and MCD setup to detect mediastores on USB sticks, how do I handle mediastore addition and deletion due to the insertion and removal of the USB sticks during a library based track session playback? For example, when I have one USB inserted, and I am playing audio files from this USB with track session created using the following statement... select fid from library where msid in (select msid from mediastores where (mountpath="/fs/usb0" or mountpath="/fs/usb1") and available=1) The track session playback will contain only files from USB_1, which is mounted as /fs/usb0. Now, if I inserted a second USB stick, it will be mounted as /fs/usb1, will MME add the files from the second USB stick and let the playback continue to play files in USB_2 when all files from USB_1 have been played back? Thanks. Yuh-Fwu Guu 2012-07-30T13:59:36Z post94394: Re: Question http://community.qnx.com/sf/go/post94394 Hi Robb, I will send you an e-mail. -- Ryan J. Allen QNX Software Systems From: Robbie Tarte &lt;community-noreply@qnx.com&lt;mailto:community-noreply@qnx.com&gt;&gt; Reply-To: "development-multimedia@community.qnx.com&lt;mailto:development-multimedia@community.qnx.com&gt;" &lt;development-multimedia@community.qnx.com&lt;mailto:development-multimedia@community.qnx.com&gt;&gt; Date: Tuesday, 24 July, 2012 11:14 AM To: "development-multimedia@community.qnx.com&lt;mailto:development-multimedia@community.qnx.com&gt;" &lt;development-multimedia@community.qnx.com&lt;mailto:development-multimedia@community.qnx.com&gt;&gt; Subject: Question I am a RIM employee and I need to post a question about BB10. Is there a private forum for that? Robb Tarte Test Automation Developer x13167 Ryan Allen 2012-07-24T15:37:27Z post94393: Question http://community.qnx.com/sf/go/post94393 I am a RIM employee and I need to post a question about BB10. Is there a private forum for that? Robb Tarte Test Automation Developer x13167 Robbie Tarte(deleted) 2012-07-24T15:26:07Z post94219: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1 http://community.qnx.com/sf/go/post94219 Hello It is a standard audio driver supporting playback and capture. It supports USB Audio Classes 1 and 2. There is no specific documentation other than the Utilities guide and regular audio documentation regarding use of the drivers. Regards, On 12-07-12 2:31 AM, "Rohit Nair" &lt;community-noreply@qnx.com&gt; wrote: &gt;Hi Jim, &gt;My ultimate goal is to use the ipod to stream audio over the usb, &gt;I'm not sure how to use this driver if it facilitates this in anyway. &gt;Else i shall have to write usb client driver to prepare for isochronous &gt;data transfer. &gt; &gt;It'll be great if you could point to some documentation (about using this &gt;driver for capture , playback). &gt; &gt;Appreciate the help. &gt; &gt;Regards. &gt; &gt; &gt; &gt;_______________________________________________ &gt; &gt;Development &gt;http://community.qnx.com/sf/go/post94215 &gt;To cancel your subscription to this discussion, please e-mail &gt;development-multimedia-unsubscribe@community.qnx.com Jim Gilderson 2012-07-12T13:18:27Z post94215: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1 http://community.qnx.com/sf/go/post94215 Hi Jim, My ultimate goal is to use the ipod to stream audio over the usb, I'm not sure how to use this driver if it facilitates this in anyway. Else i shall have to write usb client driver to prepare for isochronous data transfer. It'll be great if you could point to some documentation (about using this driver for capture , playback). Appreciate the help. Regards. Rohit Nair 2012-07-12T06:31:27Z post94205: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1 http://community.qnx.com/sf/go/post94205 Hi This is an audio capture and playback driver that can be used with io-audio. It does not handle detection or mounting of USB devices - this is handled outside of the the audio framework. QNX does not use this for iPod and I am not aware of anyone specifically using this for iPod. Regards, Jim Gilderson 2012-07-11T19:01:47Z post94183: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1 http://community.qnx.com/sf/go/post94183 Correction to subject Rohit Nair 2012-07-11T06:35:56Z post94182: USB Audio Driver with QNX SDP 6.0 Service Pack1 http://community.qnx.com/sf/go/post94182 Hi, I'm trying to setup an IPod to stream audio over the usb (with Boards Freescale i.mx53, i.mx6q). With service Pack1 there is a new usb audio driver available. (http://www.qnx.com/developers/articles/rel_5189_3.html#New_deva) Has anybody tried using this new driver with io-audio.? deva-ctrl-usb.so...Can it help in auto detect / mount of usb audio devices. Has any one tried setting this up with an IPOD. Any advice/ help in this regard is welcome. Regards (My apologies to those added in recipients in case this does not interest them.) Rohit Nair 2012-07-11T06:34:05Z post93813: Re: how to adjust the volume of audio capture device http://community.qnx.com/sf/go/post93813 The software mixer (software PCM mixer) only exist on the playback side of the house, as its job is to mix multiple PCM stream into one that can be written to a singe audio device (since we are doing sample by sample modifications for the mix we added in software volume controls into this path). For capture the only gain/volume adjustments you can do depend on what the hardware codec exposes in terms of controls (there are not software volume controls on the capture path). You can use the mix_ctl utility to dump all of control groups and to make adjust to those groups. Joe Mammone 2012-06-21T14:24:29Z post93811: how to adjust the volume of audio capture device http://community.qnx.com/sf/go/post93811 Customer needs to change the volume of captured audio data to a definite level in order to pass it to a voice recognition device. Is it possible to achieve this by using a software mixer or is there any alternative solution?. Ramesh Vemula(deleted) 2012-06-21T13:56:39Z post93356: Re: SQLite3 on QNX Neutrino 6.x http://community.qnx.com/sf/go/post93356 Hi Dan, Thanks for the hint. We were using no absolute path in the sample test application and it was executing from /tmp dir which is linked to the shared memory region managed by proncto. That was probably the problem. Now after mounting a a ramdisk area created by the utility devb-ram the test application runs fine. I shall update the same thread in case we face more issues with sqlite on qnx. Thanks! Rohit Nair 2012-05-30T06:43:25Z post93342: Re: SQLite3 on QNX Neutrino 6.x http://community.qnx.com/sf/go/post93342 What file system are you running it on? And what is the full path to your database? On 2012-05-29, at 12:34 AM, Rohit Nair wrote: &gt; Hi, &gt; We are trying to Port SQLite3 onto QNX Neutrino 6.x based system as part of a multimedia program. &gt; We are receiving a SQL error DISK I/O ERROR on the execution of very first command (sqlite3_exec()) to create a table &gt; inside a database. Note: The database file was created (sqlite3_open() was successful). &gt; &gt; From a similar post on qnx 4 support site we understand that the SQLite should work straight out of the box. Could somebody guide us with the required compilation flags/ macros that we should enable. &gt; (For eg. is the flag -DSQLITE_OS_UNIX or more required) &gt; Appreciate any help with this. &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post93326 &gt; To cancel your subscription to this discussion, please e-mail development-multimedia-unsubscribe@community.qnx.com Dan Cardamore 2012-05-29T12:57:59Z post93326: SQLite3 on QNX Neutrino 6.x http://community.qnx.com/sf/go/post93326 Hi, We are trying to Port SQLite3 onto QNX Neutrino 6.x based system as part of a multimedia program. We are receiving a SQL error DISK I/O ERROR on the execution of very first command (sqlite3_exec()) to create a table inside a database. Note: The database file was created (sqlite3_open() was successful). From a similar post on qnx 4 support site we understand that the SQLite should work straight out of the box. Could somebody guide us with the required compilation flags/ macros that we should enable. (For eg. is the flag -DSQLITE_OS_UNIX or more required) Appreciate any help with this. Rohit Nair 2012-05-29T04:34:28Z post91957: Re: MCD : external insertion notification doesn`t work http://community.qnx.com/sf/go/post91957 I'm not sure this scenario is handled by MCD. If MCD only processes the mount/umount functions when there is a callout, you could possibly implement your own custom callout, as described in the MCD docs. Your callout could talk to your external device to get the insertion state, or alternatively, maybe your callout does nothing and you keep writing the to insert/eject files. It is possible just having a callout will allow it to mount/unmount. Regards, Gilles Gilles Roy 2012-03-07T19:52:25Z post91902: MCD : external insertion notification doesn`t work http://community.qnx.com/sf/go/post91902 Hello QNX Developers, My needs perfectly described by "CD-changer controlled by external firmware" section of MCD documentation. I need to avoid using built-in CD_MEDIA_IOBLK MCD routine and report CD insertion/ejection events externally. However, when I do that, configured start/stop rules are NOT executed. MCD is executed with '-vvvv' CL option. From sloginfo, I can see that notifications are received by MCD: Jan 01 03:03:41.632.3 00023 00 /dev/cd0 media inserted Jan 01 03:03:52.597.3 00023 00 /dev/cd0 media ejected Implementation is really simple and is pretty much a copy-paste from official documentation. Suppose that it is OK, as MCD does indicate these reports in the log (in case of insertion, "/dev/cd0" is written to /dev/mcd/.insert, in case of ejection, write it to /dev/mcd/.eject) Snippet of my mcd.cfg : [/dev/cd*] Start Rule = MOUNT Stop Rule = UNMOUNT [MOUNT] Callout = MOUNT_FSYS Argument = /etc/mcd.mnt [UNMOUNT] Callout = UNMOUNT_FSYS Note : In case of I switch to built-in CD_MEDIA_IOBLK routine, MOUNT rule is executed and CD is mounted. (To do that, I only need to add following lines to [/dev/cd*] device entry) &gt; Callout = CD_MEDIA_IOBLK &gt; Argument = 1000,2000 &gt; Priority = 11,10 Thank you! Konstantin V 2012-03-03T17:58:42Z post90260: Re: IO-media APIs http://community.qnx.com/sf/go/post90260 Using the io-media API isn't supported, and isn't documented. Having said that, you can find the API definitions in &lt;iomedia/api.h&gt; and related files in the iomedia header directory. -- Ryan J. Allen QNX Software Systems Ryan Allen 2011-11-23T14:39:19Z post90257: IO-media APIs http://community.qnx.com/sf/go/post90257 HI, i am not getting any io-media APIs. Please point me some documents that contains the io-media APIs. Thanks in advance. Partha Koley 2011-11-23T13:32:56Z post89577: Re: How to handle the Media Picker in the PlayBook http://community.qnx.com/sf/go/post89577 Hi Vikram, Sorry for the delayed reply... There is currently no public API for accessing the media database. Things are in flux currently, but there are plans to publish an API for this once Universal Search is available on the device. In the meantime, unfortunately, you will have to scrape the directories under /accounts/1000/shared for files. Cheers, Sean Sean McVeigh 2011-10-24T21:35:55Z post89575: Re: Finding mediastores and their states http://community.qnx.com/sf/go/post89575 Thank you Gilles, I tried query mediastore tables and got the info I needed. Regards, Guu Yuh-Fwu Guu 2011-10-24T16:00:56Z post89569: Re: Finding mediastores and their states http://community.qnx.com/sf/go/post89569 You can query the MME mediastores tables in the database. Each mediastore has a state (active or unavailable) which will tell you if it is currently inserted or not. Alternatively, in your mme.conf, there is this setting: &lt;!-- Controls whether or not devices are automatically detected by the MME. This is independent of synchronization. --&gt; &lt;!--&lt;DeviceDetection enabled="true"/&gt;--&gt; If you uncomment the DeviceDetection and set it to false, I.e.: &lt;DeviceDetection enabled="false" The MME, when it starts, won't monitor devices. Instead, once your app is running, you can connect to the MME, register for events and then issue mme_start_device_detection(), this way you won't miss any of the statechange events. Regards, Gilles Gilles Roy 2011-10-24T12:46:23Z post89551: Finding mediastores and their states http://community.qnx.com/sf/go/post89551 Hello, Is there a way to query mme how many media stores have already been detected and what their id's and states are? Our hardware has two USB ports and mcd can detect the presence of an USB stick in either of these two ports. It does not matter if the USB stick was inserted before or after power up. The USB stick gets mounted as /fs/usb0. Our client application registers for mme events and can detect when a USB stick was inserted thru these events "EVENT_MS_STATECHANGE", "EVENT_MS_SYNC_STARTED", ..., "EVENT_MS_DB_SYNC_COMPLETE", and "EVENT_SYNCCOMPLETE". These all worked fine when the USB stick was inserted after the client application has already started. I am able to determine, from the events received, the mediastore id and its state. The problem comes if the USB stick was inserted before power up, none of the events get captured by the client application because the client application started after mcd has already detected and mounted the USB stick. What can our client application do, when it starts, to discover mediastores that have already been detected by mcd? Thanks. Yuh-Fwu Guu 2011-10-21T20:35:55Z post89269: RE: io-audio http://community.qnx.com/sf/go/post89269 I am missing so many samples while playback and a 3 min file gets played over within ~1.6 mins with missed samples. I am using software mixer plugins to develop the wave application. I know my audio system is not having an overflow or underflow from DMA. So the audio system receives data without any loss as pumped from DMA. Any hints will be greatly appreciated. -----Original Message----- From: David Mak-Fan [mailto:community-noreply@qnx.com] Sent: Friday, October 07, 2011 9:16 AM To: development-multimedia Subject: Re: io-audio Is your concern that the DMA might read from a memory address that io-audio is currently filling? If your DMA is feeding a system that is clocking audio data out at real-time (e.g. 48khz), then io-audio should be able to write fragments faster than that rate (on average), and then it should not be possible for DMA (read pointer) to "pass" io-audio (write pointer). Are you using the SW mixer plugin as well? It pre-mixes 2 fragments worth before deva is actually started. Thanks, Dave _______________________________________________ Development http://community.qnx.com/sf/go/post89261 Arun Johnson 2011-10-07T14:41:46Z post89261: Re: io-audio http://community.qnx.com/sf/go/post89261 Is your concern that the DMA might read from a memory address that io-audio is currently filling? If your DMA is feeding a system that is clocking audio data out at real-time (e.g. 48khz), then io-audio should be able to write fragments faster than that rate (on average), and then it should not be possible for DMA (read pointer) to "pass" io-audio (write pointer). Are you using the SW mixer plugin as well? It pre-mixes 2 fragments worth before deva is actually started. Thanks, Dave David Mak-Fan 2011-10-07T13:16:29Z post89253: Re: How to handle the Media Picker in the PlayBook http://community.qnx.com/sf/go/post89253 Hi I have developed the game using the native sdk , but to use the feature of Media Picker(like the way we can select the songs in iphone), how to access the media picker from Blacberry tablet(playbook). Which API should we use to access the media picker. Example : In adobe AIR SDK (http://www.blackberry.com/developers/docs/airapi/1.0.0/qnx/ui/media/MediaControl.html). Thanks, -Vikram vikram boidapu 2011-10-07T06:48:05Z post89249: io-audio http://community.qnx.com/sf/go/post89249 I am developing an audio driver for our platform. the DMA is configured to execute in a looping mode with 2 descriptors.The DMA is giving interrupts at the end of each fragment this interrupt is passed on to the driver to fill in the already serviced fragment. question : if the dma executes faster than io-audio and generates an interrupt and moves on to the fragment that io-audio currently is filling in, how will io-audio synchronize the audio ?? Arun Johnson 2011-10-06T18:43:24Z post89233: Re: How to handle the Media Picker in the PlayBook http://community.qnx.com/sf/go/post89233 What do you mean by "Media Picker" exactly? Is you app an AIR app, a Native App? Could we get a few more details please? On 11-10-05 2:00 AM, "vikram boidapu" &lt;community-noreply@qnx.com&gt; wrote: &gt;Hello , &gt; &gt;I have a small demo game app and I want to access the Media Picker in the &gt;Application. &gt; &gt;Please help me with the API on how to use that feature or any technical &gt;help on this. &gt; &gt;Thanks, &gt;-Vikram &gt; &gt; &gt; &gt;_______________________________________________ &gt; &gt;Development &gt;http://community.qnx.com/sf/go/post89225 &gt; Adrian Boak 2011-10-05T18:56:47Z post89225: How to handle the Media Picker in the PlayBook http://community.qnx.com/sf/go/post89225 Hello , I have a small demo game app and I want to access the Media Picker in the Application. Please help me with the API on how to use that feature or any technical help on this. Thanks, -Vikram vikram boidapu 2011-10-05T06:00:18Z post84197: Queries related to IO-audio http://community.qnx.com/sf/go/post84197 I am have written a driver for my sound card 1. If I palce the driver in SDCard and launch the IO-Audio with -d option to specify driver path it does not use this driver instead it uses default driver present in other folder. 2. If I place the driver in tmp folder &amp; launch the IO-Audio with -d option to specify driver path it uses this driver. I would like to know why option 1 does not work ... Girisha SG 2011-03-23T11:56:06Z post83410: BSP for I.mx356 processor http://community.qnx.com/sf/go/post83410 Hi, I have installed QNX 6.4.1, and downloaded the BSP "bsp-freescale-i.mx35". The processor used is I.mx356. In this project it required the graphical interface development. 1.Please let me know how to load the BSP image to target. Since im new to QNX, please let me know what target to be used for the project using I.mx356 processor. The guide of how HMI interacts with the terminal mode concept. 2.Please let me know how can i project an image and manage the fonts? Thanks &amp; Regards Jyothi Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com jyothi Balehosur 2011-02-23T13:27:38Z post83409: BSP for I.mx356 processor http://community.qnx.com/sf/go/post83409 Hi, I have installed QNX 6.4.1, and downloaded the BSP "bsp-freescale-i.mx35". The processor used is I.mx356. In this project it required the graphical interface development. 1.Please let me know how to load the BSP image to target. Since im new to QNX, please let me know what target to be used for the project using I.mx356 processor. The guide of how HMI interacts with the terminal mode concept. 2.Please let me know how can i project an image and manage the fonts? Please send a reply to mail id jyothi.balehosur@wipro.com Regards Jyothi jyothi Balehosur 2011-02-23T13:22:35Z post83208: Re: "Skipping file because it is known to be not playable" endless loop http://community.qnx.com/sf/go/post83208 Hey Ryan, great, thanks for the quick reply! Regards, Daniel Daniel Endres 2011-02-16T14:13:21Z post83207: playable flag within the library table http://community.qnx.com/sf/go/post83207 Hi all, as you may remember we asked for an option to also mark drm-protected files as unplayable within the library-table. This is because we don't want the user to experience play errors due to drm-protected files. We don't want to play DRM-Protected files at all and therefore they will be grayed out in our HMI. Since there is no mme configuration mechanism, we've achieved this, by using the database trigger you've provided which toggles the playable-flag if an protected file is encountered during metadata-pass. The downside of the is that the playable flag of drm-protected files may change between Sync pass 1 and 2. The reason why I'm bringing this up again, is the error handling which I'm implementing right now. The bad case is a sd card which consists of "only" unplayable tracks. E.g. 80 files which are already known as unplayable to the mme. The sd-card was removed and extended by 10 new drm-protected files and 10 new corrupt files. The issue I'm struggling with right now is, that I need a mechanism to determine that they're now playable files at all. Counting the playFileErrors isn't an option since e.g. I don't know if I receive playErrors for the drm-files at all (dependes on the point in time where the playback happens. Before or after the db-trigger toggles the playable flag). My prefered way would be to fire a sql statement on every filePlayError which determines the state of the playable field within the library table (for the fids in the current tracksession). For this I need to rely on the fact that the library table is up2date when the mme fires the last filePlayError. Speaking of my example above: 80 Files were skipped automatically because they are already known as unplayable The 10 drm files were also skipped, since pass 2 was done when the playback attempt happend At the time the 9 corrupt files generated 9 playFileErrors and the tenth file returned with another playFileError a "select sum(playable) from library where &lt;tracksession stmt&gt;" would return 0, right? Or could it happen that 1 or another value may be returned instead? Or put differently, on a playFileError the playable column within the library table gets updated before the according playFileError is emitted? Thanks, Daniel Daniel Endres 2011-02-16T14:04:19Z post83204: Re: "Skipping file because it is known to be not playable" endless loop http://community.qnx.com/sf/go/post83204 Daniel, This is a side-effect of a change we made to not count "known not-playable" files as play errors. But it is a bug--we missed this case. We will have to fix this. -- Ryan J. Allen QNX Software Systems Ryan Allen 2011-02-16T13:44:04Z post83198: "Skipping file because it is known to be not playable" endless loop http://community.qnx.com/sf/go/post83198 Hi all, I've just ran into an issue regarding the automatic skipping of already known unplayable tracks (just did a touch to create some files). In my use case i had a tracksession consisting of ONLY unplayable tracks. If I fire a 'mmecli play_extended offset 0' on this tracksession, the mme skips as assumed from track to track with the message: 'Skipping file because it is known to be not playable. fid=251, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//3empty.mp3' Unfortunately the mme doesn't recognize the end of the tracksession and therefore loops until forever. At this point the mme is unresponsive as well. So it's not possible to call a stop or any other command. There are eleven entries within my tracksession: Jan 01 01:26:04 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=249, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//1empty.mp3' Jan 01 01:26:04 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=250, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//2empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=251, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//3empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=252, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//4empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=253, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//5empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=254, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//6empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=255, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//7empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=246, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//8empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=247, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//10empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=248, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//11empty.mp3' Jan 01 01:26:05 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=249, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//1empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=250, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//2empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=251, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//3empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=252, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//4empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=253, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//5empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=254, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//6empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=255, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//7empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=246, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//8empty.mp3' Jan 01 01:26:06 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=247, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//10empty.mp3' Jan 01 01:26:07 5 27 0 MME:_play(3229): Skipping file because it is known to be not playable. fid=248, filename='/net/mmx.mibhigh.net/fs/sdb0//Gemischt/error testing/only corrupt files//11empty.mp3' Hopefully this is easy to fix!? Thanks in advance, Daniel Daniel Endres 2011-02-16T10:54:30Z post74637: Re: Zune playback http://community.qnx.com/sf/go/post74637 &gt; Hello Giles, &gt; &gt; Working with Vadivel on our Zune connectivity. We have obtained our Zune &gt; certificate (.pfx and .p7b) files from Microsoft. Was searching MME &gt; documentation on what to do with these files in terms of file path. Is it &gt; just drag and drop to the location, or do we need to run through some qnx &gt; process and rename the files? &gt; &gt; Kindly advise. &gt; &gt; Thank you. &gt; &gt; Michael We're aware of the default location /etc/pfs but noticed .der and .bin file formats G. Michael Adderley 2010-11-15T15:32:22Z post74631: Re: Zune playback http://community.qnx.com/sf/go/post74631 Hello Giles, Working with Vadivel on our Zune connectivity. We have obtained our Zune certificate (.pfx and .p7b) files from Microsoft. Was searching MME documentation on what to do with these files in terms of file path. Is it just drag and drop to the location, or do we need to run through some qnx process and rename the files? Kindly advise. Thank you. Michael G. Michael Adderley 2010-11-15T15:25:39Z post68615: Re: How to use iom_attach_input to attach the input from USB devices? http://community.qnx.com/sf/go/post68615 The only thing that changes is the URL. The URL of the capture device will depend on where the audio should come from. We can talk specifics for your project directly. In general, if it is an io-audio capture device you'll use a similar snd: URL. You would have to know which capture device to use. Some io-audio drivers will setup a link from a "known" name to the capture device. For example, our iPod driver for io-audio has a "cap_name" argument for this. -- Ryan J. Allen QNX Software Systems On 10-09-24 04:50 PM, Jeff Sheng wrote: &gt; Hello all, &gt; &gt; We use io-media to play stream data from Smartphone devices in our project. If the stream data is from Bluetooth phone, I could use the following setting to play. &gt; &gt; iom_attach_input(graphId, "snd:/dev/snd/pcmC3D0c", fid ); &gt; &gt; Since it is different for smartphone which gets stream data from USB port, I don't know how to set url. &gt; &gt; iom_attach_input(graphId, url, fid ); &gt; &gt; Thanks for your advices, &gt; Jeff Sheng &gt; Ryan Allen 2010-09-27T13:32:32Z post68577: How to use iom_attach_input to attach the input from USB devices? http://community.qnx.com/sf/go/post68577 Hello all, We use io-media to play stream data from Smartphone devices in our project. If the stream data is from Bluetooth phone, I could use the following setting to play. iom_attach_input(graphId, "snd:/dev/snd/pcmC3D0c", fid ); Since it is different for smartphone which gets stream data from USB port, I don't know how to set url. iom_attach_input(graphId, url, fid ); Thanks for your advices, Jeff Sheng Jeff Sheng 2010-09-24T20:50:29Z post67721: Re: Issue to play stream data using io-media API http://community.qnx.com/sf/go/post67721 Gilles, Yes, it works after I did what you mentioned. Thanks!, Jeff Jeff Sheng 2010-09-17T14:22:51Z post67686: Re: Issue to play stream data using io-media API http://community.qnx.com/sf/go/post67686 On 10-09-16 6:25 PM, "Jeff Sheng" &lt;community-noreply@qnx.com&gt; wrote: &gt; graphId = iom_create_graph( "streamplayer", "BT_StreamPlayer", 0 ); I would try a "trackplayer" instead of "streamplayer". &gt; outputId = iom_attach_output(graphId, "/dev/snd/pcmC0D0p", IOM_OF_AUDIO Here I think you should use "snd:/dev/snd/pcmC0D0p" (i.e. prefix with "snd:") &gt; err = iom_attach_input(graphId, "/dev/snd/pcmC3D0c", fid ); Again here try to add an "snd:" prefix. Start io-media with -DD and post the output of sloginfo if it doesn't work. Regards, Gilles Gilles Roy 2010-09-17T01:33:47Z post67679: Issue to play stream data using io-media API http://community.qnx.com/sf/go/post67679 Hi, I have an issue to playback stream data from Bluetooth phone using io-media API calls. If I use PCM API to playback the Bluetooth phone, it works. It seems no error to debug the following codes step by step, but there is no audio output. I could not find the issue, and the document is very limited. Do I miss something to configure the io-media other parameters? pthread_mutex_init( &amp; mutexId, NULL ); pthread_mutex_lock( &amp; mutexId); graphId = iom_create_graph( "streamplayer", "BT_StreamPlayer", 0 ); pthread_mutex_unlock( &amp; mutexId); outputId = iom_attach_output(graphId, "/dev/snd/pcmC0D0p", IOM_OF_AUDIO ); err = iom_attach_input(graphId, "/dev/snd/pcmC3D0c", fid ); if ( err != 0 ) { iom_play(graphId); } Thanks, Jeff Sheng Jeff Sheng 2010-09-16T22:25:19Z post66083: Re: About mme trksession http://community.qnx.com/sf/go/post66083 Hi Gilles! Thanks for your reply,I have fixed the problem! Kailen High 2010-09-07T08:03:23Z post66058: Re: About mme trksession http://community.qnx.com/sf/go/post66058 On 10-09-06 3:16 AM, "Kailen High" &lt;community-noreply@qnx.com&gt; wrote: &gt; As a result,when I play the media (one of the devices),it tips there are &gt; no data to play,why? &gt; please give me some advices ,thanks very much! You need to post logs. Can you do: mmecli set_debug 4 0 Now repeat the whole procedure and send the output of sloginfo. Thanks, Gilles Gilles Roy 2010-09-06T12:21:28Z post66035: About mme trksession http://community.qnx.com/sf/go/post66035 Hello all! Now , I have two media store device(HardDrive and USB),so I created two new trksession by calling mme_newtrksession() seperately. Otherwise, before I use the one of trksessions, I unset the other and set the current one,such as : mme_stop(mme); mme_settrksession(mme,0); mme_settrksession(mme,current_trkid); As a result,when I play the media (one of the devices),it tips there are no data to play,why? please give me some advices ,thanks very much! Kailen High 2010-09-06T07:16:54Z post65851: RE: mme_rmtrksession http://community.qnx.com/sf/go/post65851 You can "unset" the current tracksession by calling mme_settrksession() with the session id of zero. This will allow deletion of the formally active tracksession. You do have to stop before unsetting the tracksession. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-09-03T12:17:22Z post65846: mme_rmtrksession http://community.qnx.com/sf/go/post65846 Hi All, calling mme_stop() and then mme_rmtrksession() for iPod returns with errCode=16 (Device or resource busy) yet, creating a new trksession, calling mme_settrksession with this new trksession allows removing of the old one. when am i able to call mme_rmtrkseesion() ? Does the trksession to be removed have to be inactive? How can i remove an active trksession? Regards, Artjom Artjom Dizel 2010-09-03T11:53:44Z post64296: Re: Can't access the mme source http://community.qnx.com/sf/go/post64296 See this post: http://community.qnx.com/sf/go/topc13058 After the acquisition of QNX by RIM, they changed their source policy. You'll now need to submit a QNX Restricted Content Application Form. I believe their plan is that some of the code will be released in the QNX Source project, but I don't think anything exists there yet. Steven Steven Lougheed 2010-08-25T13:20:43Z post64276: Can't access the mme source http://community.qnx.com/sf/go/post64276 Hello manager! I am a member of MME project,but today I found that I can't access the mme source,the access port is forbided.Why? Can you give me some advice,thanks! Yong Yu 2010-08-25T12:11:37Z post63271: About video decoder in mme http://community.qnx.com/sf/go/post63271 Hello everyone! I want to known if the mme spports video decoder based on armle(mx35) and qnx640? In order to play a mp4 video file, I plan to write a h264 decoder filter,and do the work of h264 codec migrated. Please give me some advices, is it possible to play the video files for my plan? Otherwise, in the release of qnx car project,I can find ffmpeg_decoder.so, is it for the video decoded? and in this case,what video formats does it supported? Thanks very much for your reply solving my issue. Xiaolong Zhang 2010-08-17T16:11:02Z post63250: Re: About the mme playlists table http://community.qnx.com/sf/go/post63250 On Tue, 17 Aug 2010, Kailen High wrote: &gt; Hi Gilles! &gt; Thanks for your reply! &gt; I have some problems need to clarify. &gt; (1)Is the playlist files(".pls" or ".m3u") created by myself,or the mme &gt; include playlist files itself,only need to be syncrhonized? You need to create the playlist files yourself in order for them to be scanned like the media. Only certain formats will be scanned. (look at the mme.conf file for the extentions handled in your version) &gt; (2)My media files is stored in the HardDrive,if I want to get a playlist &gt; displayed in the HMI,how should I do ? Once the playlist and playlistdate tables are populated, in the same manner that you would present data from the library table. &gt; (3)The mme has passed the 3 syn, but the playlists table and playlist_data table is empty,why? During the sync no playlists were found. You make things more verbose during the sync to see exactly what is happening. During the file sync pass it will note files that would be flagged as playlists. If it doesn't find any then there is nothing to do during the 3rd pass sync. Do you have playlists on your system that you expected to be found? Peter Peter Martin 2010-08-17T14:15:09Z post63245: Re: About the mme playlists table http://community.qnx.com/sf/go/post63245 Hi Gilles! Thanks for your reply! I have some problems need to clarify. (1)Is the playlist files(".pls" or ".m3u") created by myself,or the mme include playlist files itself,only need to be syncrhonized? (2)My media files is stored in the HardDrive,if I want to get a playlist displayed in the HMI,how should I do ? (3)The mme has passed the 3 syn, but the playlists table and playlist_data table is empty,why? Looking for your reply ,thanks! Kailen High 2010-08-17T14:02:22Z post63080: Re: About the mme playlists table http://community.qnx.com/sf/go/post63080 On 10-08-15 11:17 AM, "Kailen High" &lt;community-noreply@qnx.com&gt; wrote: &gt; I can get the media file metadatas from the library table.but the mme &gt; internal playlists table is empty,I use the follow command: &gt; &gt; qdbc -d mme "slect * from playlists" &gt; result empty If the MME syncrhonizes a device (say a USB stick) and it finds playlist files which it recognizes (based on file extension, i.e. something like ".pls" or ".m3u") it will create a playlist entry in the playlists table and will insert the corresponding playlist entries as fids in the playlistdata table. &gt; &gt; please give me some advices ,how can I use the mme internal &gt; playlists.thanks very much! otherwise,does the mme include gracenode &gt; itself?how can I get it and manage the playlist. &gt; thanks very much! Gracenote is not included. You are probably best off to talk to your sales representative about how to get it. Regards, Gilles Gilles Roy 2010-08-16T14:36:22Z post63024: About the mme playlists table http://community.qnx.com/sf/go/post63024 Hello everyone! I can get the media file metadatas from the library table.but the mme internal playlists table is empty,I use the follow command: qdbc -d mme "slect * from playlists" result empty please give me some advices ,how can I use the mme internal playlists.thanks very much! otherwise,does the mme include gracenode itself?how can I get it and manage the playlist. thanks very much! Kailen High 2010-08-15T15:17:17Z post62564: Re: MMF Graph for a2dp playback using SBC decoder. http://community.qnx.com/sf/go/post62564 On 10-08-10 3:43 PM, "Lakshmi Boggaram" &lt;community-noreply@qnx.com&gt; wrote: &gt; We are aware that QNX MMF supports SBC decoders to perform audio playback &gt; using a2dp devices. &gt; &gt; Can somebody explain how I can invoke the SBC decoder by any kind of &gt; configurations and also the which are the filters involved for a2dp playback &gt; using sbc decoder? I don't think we have an SBC decoder for MMF. This means is that when playing back using A2DP devices, the bluetooth stack needs to do the decoding to PCM. Regards, Gilles Gilles Roy 2010-08-11T00:42:49Z post62534: MMF Graph for a2dp playback using SBC decoder. http://community.qnx.com/sf/go/post62534 Hello All, We are aware that QNX MMF supports SBC decoders to perform audio playback using a2dp devices. Can somebody explain how I can invoke the SBC decoder by any kind of configurations and also the which are the filters involved for a2dp playback using sbc decoder? Thanks and Regards, Lakshmi Lakshmi Boggaram 2010-08-10T19:43:12Z post59318: starting ipod driver io-fs-media with nopoll http://community.qnx.com/sf/go/post59318 Hi all, when starting io-fs-media with following arguments: /armle/usr/sbin/io-fs-media -d ipod,config=/armle/etc/ipod.cfg,transport=ser:dev=/dev/ser2:nopoll,playback,fnames=short,verbose=1 the ipod is recognized by MME, but when removing the iPod no events are generated by MME and iPod stays in mediastores table. Currently the iPod is connected to B-sample via serial connection and is charged. Starting io-fs-media with "poll" argument works fine also on the B-sample. A second question is: Where can i see debug output of io-fs-media? Adding "verbose=1" to arguments produces neither an output in sloginfo nor an output on std::out I have attached the mcd.conf and sloginfo output (mmecli set_debug 4 4) when attaching AND detaching the iPod afterwards. Artjom Dizel 2010-07-13T15:50:54Z post59230: Re: Zune playback http://community.qnx.com/sf/go/post59230 On 10-07-06 9:31 AM, "Malek Naffati" &lt;community-noreply@qnx.com&gt; wrote: &gt; So contrary to all of the sources claiming that Zune does not support PFS, &gt; the Zune supports PFS but in a fassion that is incompatible to the PFS &gt; spec/certification &gt; due to the additional encryption? Did I understand that correctly? I believe that much of the commands are similar, but that there are differences due to the additional encryption. Gilles Gilles Roy 2010-07-12T18:21:51Z post59049: Re: mme_play_resume_msid on iPod http://community.qnx.com/sf/go/post59049 If I understand what you're asking for, the answer is no. The iPod does not indicate the path on the iPod where the playback engine comes from. If you ask the iPod to play a specific path then the MME can provide the information (for the first file that plays). After the iPod takes over playback the MME only really knows what is in the playback engine--not how the playback items got into the playback engine. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-07-09T12:16:57Z post59038: mme_play_resume_msid on iPod http://community.qnx.com/sf/go/post59038 Hi all, is there a way to get the path information of active playing item when resuming a device-tracksession by calling mme_play_resume_msid? The call "select * from nowplaying" to qdb returns with an empty filename cell.This cell is filled yet when creating a trksession manually and calling trksession_set_files afterwards. Regards, Artjom Artjom Dizel 2010-07-09T08:00:45Z post58840: Re: Hang on 0 Byte Mp3s http://community.qnx.com/sf/go/post58840 Apperently my track session the file was in was borged, thus a non-related problem on my side. The broken mp3 file is now correctly removed as documented. Malek Naffati 2010-07-07T14:35:27Z post58665: Re: Zune playback http://community.qnx.com/sf/go/post58665 This is interesting. So contrary to all of the sources claiming that Zune does not support PFS, the Zune supports PFS but in a fassion that is incompatible to the PFS spec/certification due to the additional encryption? Did I understand that correctly? Malek Naffati 2010-07-06T13:31:33Z post58636: Hang on 0 Byte Mp3s http://community.qnx.com/sf/go/post58636 Assuming that this may occur in day to day use I tested what happens when trying to play 0 byte Mp3 files. Apperently, this hangs up the media backend? mmecli commands will not have any effect and mmecli will hang up after having been "treated" with this specific file. Is anyone able to reproduce this error? Malek Naffati 2010-07-06T07:17:22Z post58582: Re: Retrieving album artwork is not working http://community.qnx.com/sf/go/post58582 On 10-06-30 2:08 PM, "Vadivel Palanisamy" &lt;community-noreply@qnx.com&gt; wrote: &gt; Hi Gilles, &gt; &gt; I have all the switch..case to print the received event. But none of them got &gt; received except 'MME_EVENT_SHUTDOWN_COMPLETED' . Hi Vadivel, I think you may have connected synchronously. When I look at the code, it seems we won't send you the MME_EVENT_METADATA_INFO if you specified O_SYNC when you called mme_connect(). If you really want a syncrhonous call, you should pass in a buffer instead of passing NULL when you call mme_metadata_getinfo_*() API calls. Regards, Gilles Gilles Roy 2010-07-05T19:52:16Z post58232: Re: Retrieving album artwork is not working http://community.qnx.com/sf/go/post58232 Hi Gilles, I have all the switch..case to print the received event. But none of them got received except 'MME_EVENT_SHUTDOWN_COMPLETED' . Like below code, switch (mme_event-&gt;type) { /// ***** CLASS_METADATA ***** case MME_EVENT_NONE: // 0 - Indicates that no 'single' type events are in the clients queue. { // MM_INFO("Ply status thread received MME_EVENT_NONE event."); break; // Queue is flushed } case MME_EVENT_METADATA_INFO: // 53 - mme_event_metadata_info_t { // mme_event_metadata_info_t . EOK is the data valid. MM_INFO("Metadata received MME_EVENT_METADATA_INFO event"); break; } case MME_EVENT_METADATA_IMAGE: // 54 - load an image from metadata is issued via the // mme_metadata_image_load() API function call a metadata image request id is returned to the client. { MM_INFO("Metadata received MME_EVENT_METADATA_IMAGE event"); //1. If an image is available and required, call mme_metadata_image_load() to load the image into the image cache. //2. Call mme_metadata_free_session() to close the metadata session and free the system resources it was using. if (pWorkerMetadata-&gt;m_mmestatus.sessionID) { //End a metadata session rc = mme_metadata_free_session(pWorkerMetadata-&gt;m_mmestatus.sessionID); } break; } /// ***** CLASS_GENERAL ***** case MME_EVENT_USERMSG: // 7 - An MME user event. { MM_INFO("General - received MME_EVENT_USERMSG event."); break; } case MME_EVENT_SHUTDOWN: // 15 - mme can be requested to shutdown by any client. { MM_INFO("General - received MME_EVENT_SHUTDOWN event."); break; } case MME_EVENT_SHUTDOWN_COMPLETED: // 16 - The shutdown process is complete. Playback and sync have stopped. { MM_INFO("General - received MME_EVENT_SHUTDOWN_COMPLETED event."); // Start a database backup qdb_backup(pWorkerMetadata-&gt;m_mmestatus.hQDB, QDB_ATTACH_DEFAULT); //qdb_Backup break; } case MME_EVENT_BUFFER_TOO_SMALL: // 55 - A client when the event buffer on the client side is // too small to fetch any events from the MME. { MM_INFO("General - received MME_EVENT_BUFFER_TOO_SMALL event."); break; } case MME_EVENT_DEFAULT_LANGUAGE: // 59 - default language has been set { MM_INFO("General - received MME_EVENT_DEFAULT_LANGUAGE event."); break; } default: { printf(" Metadata received unhandled event(%d)\n", mme_event-&gt;type); break; } } //end-switch Regards, Vadivel Vadivel Palanisamy 2010-06-30T18:08:09Z post58225: Re: Retrieving album artwork is not working http://community.qnx.com/sf/go/post58225 On 10-06-30 12:25 PM, "Vadivel Palanisamy" &lt;community-noreply@qnx.com&gt; wrote: &gt; // Para-4: Setting the 'metadata' argument to NULL for asynchronously. &gt; &gt; // to retrieve the required metadata for a the currently playing track and &gt; place it in the mme_metadata_info_t data structure. &gt; rc = mme_metadata_getinfo_current(pWorkerPly-&gt;m_mmestatus.sessionID, groups, &gt; &amp;pWorkerPly-&gt;m_mmestatus.mdinfo_rid, NULL); Hi Vadivel, As in your comment above, setting metadata to NULL makes the function return an async event MME_EVENT_METADATA_INFO will be delivered. This event includes the XML description saying how many images there are, and a description of each message. You are not catching that event. You would need to add a new case statement for MME_EVENT_METADATA_INFO and then parse the XML and then invoke mme_metadata_load_image(). That would in turn generate the MME_EVENT_METADATA_IMGAGE you are looking for but not receiving. BTW, instead of parsing the XML, if you want a shortcut (for testing), you could instead each time you receive the MME_EVENT_METADATA_INFO just call mme_metadata_load_image() with an index of 0. As well, I'd say that adds complexity to use a NULL metadata pointer. You might want to just get the XML immediately instead of use it in an async manner. Regards, Gilles Gilles Roy 2010-06-30T17:10:06Z post58218: Retrieving album artwork is not working http://community.qnx.com/sf/go/post58218 Hi, I am using following code and I am not getting MME_EVENT_METADATA_IMAGE event. case MME_EVENT_TRACKCHANGE: // 2 - A track change occured while playing. { MM_INFO("Ply status thread received MME_EVENT_TRACKCHANGE event"); pWorkerPly-&gt;m_mmestatus.uiFID = ((mme_trackchange_t*)&amp;mme_event-&gt;data)-&gt;fid; pWorkerPly-&gt;m_mmestatus.fid_requested = ((mme_trackchange_t*)&amp;mme_event-&gt;data)-&gt;fid_requested; pWorkerPly-&gt;m_mmestatus.offset = ((mme_trackchange_t*)&amp;mme_event-&gt;data)-&gt;offset; #if 1 // FIXME **** // To create a metadata session and reserve the required system resouces. rc = mme_metadata_create_session(pWorkerPly-&gt;m_mmestatus.hMME, &amp;pWorkerPly-&gt;m_mmestatus.sessionID) ; if (-1 == rc) { MM_ERROR("Fail to create a new meta-data session."); } else { const char* groups = "audio/common:image/format"; // "*" or NULL // Para-2: Setting the 'metadata_groups' argument to NULL, or the group to "*" instructs the function to return all avaialble metadata for the file. // Para-3: mdinfo_rid 0 Success: mdinfo_rid is set. -1 An error occurred (errno is set). // Para-4: Setting the 'metadata' argument to NULL for asynchronously. // to retrieve the required metadata for a the currently playing track and place it in the mme_metadata_info_t data structure. rc = mme_metadata_getinfo_current(pWorkerPly-&gt;m_mmestatus.sessionID, groups, &amp;pWorkerPly-&gt;m_mmestatus.mdinfo_rid, NULL); if (-1 == rc) { MM_INFO ("Fail to get metadata information."); } else { if( 0 != pWorkerPly-&gt;m_mmestatus.mdinfo_rid) { MM_ERROR("Fail to get metadata info."); } } } // end-if #endif break; } case MME_EVENT_METADATA_IMAGE: // 54 - load an image from metadata is issued via the // mme_metadata_image_load() API function call a metadata image request id is returned to the client. { MM_INFO("Metadata received MME_EVENT_METADATA_IMAGE event"); //1. If an image is available and required, call mme_metadata_image_load() to load the image into the image cache. //2. Call mme_metadata_free_session() to close the metadata session and free the system resources it was using. if (pWorkerMetadata-&gt;m_mmestatus.sessionID) { //End a metadata session rc = mme_metadata_free_session(pWorkerMetadata-&gt;m_mmestatus.sessionID); } break; } Regards, Vadivel Vadivel Palanisamy 2010-06-30T16:25:14Z post58168: RE: Warning-Message: Couldn't get trksession mode (25), assume enabled http://community.qnx.com/sf/go/post58168 We have an API that io-media uses to talk to devices such as iPod called MediaFS. We recently extended this API to ask the device if it is handling its own tracksession (ie, in the normal case, when a song finishes playing does it play the next song automatically). The old functionality was to assume that it was. It seems that the iPod driver you have doesn't support the API we added. This is fine, as the behaviour is the same. To avoid it you would need to update your iPod driver. For this you should talk to your appropriate QNX rep. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-06-30T10:12:34Z post58166: Warning-Message: Couldn't get trksession mode (25), assume enabled http://community.qnx.com/sf/go/post58166 Hi all, when starting playback of files from iPod i get following messages: io-media-nvidia/mmf: writer hint snd:* found io-media-nvidia/mmf: writer hint appe_output_* found io-media-nvidia/mediafs: Couldn't get trksession mode (25), assume enabled I've seen the first two messages all the time when playing from iPod. Now i see the additional message regarding "trksession mode". What does this message mean? And how to avoid this warning? It doesn't seem to affect playback, as iPod starts to play anyway and everything still works fine. Regards, Artjom Artjom Dizel 2010-06-30T07:56:57Z post57939: Custom Joystick driver and is0usb http://community.qnx.com/sf/go/post57939 We have written usb drivers for a pedal and a joystick we are using with the QNX system. The problem is we are forced to restart io-usb with the following lines in rc.local to ensure that the drivers we have written can see that the devices are physically connected: slay io-usb io-usb -dehci -duhci -dohci waitfor /dev/io-usb/io-usb Another approach is to physically disconnect and connect the USB devices. And in fact sometimes we are forced to do this even with the lines above. Do you think there is a better way to handless this situation? Thanks... Seyit Seyhan 2010-06-25T18:02:56Z post57872: Re: Detecting that an ipod has no content http://community.qnx.com/sf/go/post57872 Ok, thanks a lot for the info. Regards, Artjom Artjom Dizel 2010-06-25T06:51:24Z post57837: Re: Detecting that an ipod has no content http://community.qnx.com/sf/go/post57837 For Music (i.e. audio only content) you just need to check /Music/Songs. For video content you just need to check "/Videos/Video Playlists/~0". This will contain all videos on the iPod. Things like podcasts or audiobooks will end up in Music/Songs or Videos/Video Playlists/~0. As well, playlists are just lists of content already on the iPod, so they don't need their own explicit check. /Music/Songs is the contents of playlist 0 for audio (*all* audio content on the iPod). The "/Videos/Video Playlists/~0" folder is playlist 0 for Video, all video content on the iPod is there. Regards, Gilles On 10-06-24 12:12 PM, "Artjom Dizel" &lt;community-noreply@qnx.com&gt; wrote: &gt; ok, but what about podcasts (video-podcasts), audiobooks, videos, playlists, &gt; the /Music/Songs folder does not contain them or am i wrong at this point? &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post57814 &gt; Gilles Roy 2010-06-24T17:52:19Z post57814: Re: Detecting that an ipod has no content http://community.qnx.com/sf/go/post57814 ok, but what about podcasts (video-podcasts), audiobooks, videos, playlists, the /Music/Songs folder does not contain them or am i wrong at this point? Artjom Dizel 2010-06-24T16:12:12Z post57813: Re: Detecting that an ipod has no content http://community.qnx.com/sf/go/post57813 On 10-06-24 11:56 AM, "Artjom Dizel" &lt;community-noreply@qnx.com&gt; wrote: &gt; is there a way to find out if an iPod has playable content stored on it or is &gt; completely empty? &gt; &gt; Or do i have to browse the folder-structure to find out. that all folders are &gt; empty? You could just check Music/Songs. I will include all of the audio content on the ipod (i.e. everything that is in Music/Genres/... Music/Artist/.... etc will be in Music/Songs). If that one folder is empty, there are no songs on the iPod. Regards, Gilles Gilles Roy 2010-06-24T16:01:08Z post57811: Detecting that an ipod has no content http://community.qnx.com/sf/go/post57811 Hi all, is there a way to find out if an iPod has playable content stored on it or is completely empty? Or do i have to browse the folder-structure to find out. that all folders are empty? Thanks for help, Artjom Artjom Dizel 2010-06-24T15:56:37Z post57322: Re: Issue: Total number <files/folder/play list> getting on DB sync complete http://community.qnx.com/sf/go/post57322 Thanks Ryan! for your support. Vadivel Palanisamy 2010-06-21T17:50:44Z post57320: Re: Zune playback http://community.qnx.com/sf/go/post57320 Hi Gilles, Gilles: I saw those errors as well. I don't think that you would even get a mountpoint without the certificate. Are you sure you are using a Zune and not a PlaysForSure device? Vadivel: Yes, we are using Zune device only. We have PFS device and it works fine. We are able browse (on zune device - same device) and able to see the album, artist, genre ..etc list. When we try to play particular file then we are getting 'Unsupported codec error'. Gills: I was looking for the output of "pidin arg". In your pidin_log.txt I don't get the info I was looking for. Vadivel: Please find the pidin_arg_log.txt' file as a attachment. Let me know if you any more information. Regards, Vadivel Vadivel Palanisamy 2010-06-21T17:47:37Z post57202: Re: Issue: Total number <files/folder/play list> getting on DB sync complete http://community.qnx.com/sf/go/post57202 The sync complete event does not contain this data. Properly, you should be running queries on the database to get these totals. You can do this via qdb's API. "select count(fid) from library where msid = X and ftype != 5" will give you files (the ftype 5 is the device fid) "select count(folderid) from folders where msid = X" will give you folders (including the root '/' folder) "select count(plid) from playlists where msid = X" will give you playlists Note that this gives you the totals for that mediastore, NOT the totals inserted/changed for that mediastore. For example, if you are syncing a mediastore for the first time and there are 10 files you would have 10 files added, and 10 files total. If you then add 2 files to this and resync you will have 2 files added and 12 files total. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-06-18T18:54:27Z post57200: Re: Zune playback http://community.qnx.com/sf/go/post57200 On 10-06-18 1:47 PM, "Vadivel Palanisamy" &lt;community-noreply@qnx.com&gt; wrote: &gt; Some time we are getting following error (after inserting the device and &gt; before start selecting any item on the list) &gt; &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt;&gt;I saw those errors as well. I don't think that you would even get a mountpoint without the certificate. Are you sure you are using a Zune and not a PlaysForSure device? Vadivel: Yes, we are using Zune device only. We have PFS device and it works fine. We are able browse (on zune device - same device) and able to see the album, artist, genre ..etc list. When we try to play particular file then we are getting 'Unsupported codec error'. &gt; Please find an attachment of 'pidin_log.txt' file. &gt;&gt;I was looking for the output of "pidin arg". In your pidin_log.txt I don't get the info I was looking for. Vadivel: Please find the new attachment. &gt; If possible, please can you provide me the information about zune &gt; certification?? like how to get?? any document or web-site link..etc to get &gt; certification that will be help for me. &gt;&gt;I don't know much about this. You will have to contact Microsoft to find out the details. Gilles Vadivel Palanisamy 2010-06-18T18:34:58Z post57198: Re: Zune playback http://community.qnx.com/sf/go/post57198 On 10-06-18 1:47 PM, "Vadivel Palanisamy" &lt;community-noreply@qnx.com&gt; wrote: &gt; Some time we are getting following error (after inserting the device and &gt; before start selecting any item on the list) &gt; &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. &gt; io-fs-media(pfs): Bad ioread status 5. I saw those errors as well. I don't think that you would even get a mountpoint without the certificate. Are you sure you are using a Zune and not a PlaysForSure device? &gt; Please find an attachment of 'pidin_log.txt' file. I was looking for the output of "pidin arg". In your pidin_log.txt I don't get the info I was looking for. &gt; If possible, please can you provide me the information about zune &gt; certification?? like how to get?? any document or web-site link..etc to get &gt; certification that will be help for me. I don't know much about this. You will have to contact Microsoft to find out the details. Gilles Gilles Roy 2010-06-18T18:14:34Z post57197: Issue: Total number <files/folder/play list> getting on DB sync complete http://community.qnx.com/sf/go/post57197 Hi, We are using below code to get the total number files/folders/play-list information on Sync-complete but it prints zero's. Do we missing something to get correct information. How to get the qdb_database size??? I think have to use ' qdb_getdbsize(..)' API calls to get the DB size. But it returns pages &amp; sizes. Is that correct???? Code: case MME_EVENT_MS_SYNCCOMPLETE: // 13 - Synchronization of the mediastore is complete. { printf("Sync status thread received MME_EVENT_MS_SYNCCOMPLETE event \n"); // print_execution_time(m_tsStartTime); int iScope = QDB_ATTACH_DEFAULT; // QDB_ATTACH_ALWAYS | QDB_ATTACH_NEVER uint32_t page_size = 0, total_pages = 0, free_pages = 0 ; // Return the size of a database int iDBSize = qdb_getdbsize(m_mmestatus.hQDB, iScope, &amp;page_size, &amp;total_pages, &amp;free_pages); printf("MME databse size(%d), page_size(%d), total_pages(%d), free_pages(%d) \n", iDBSize, page_size, total_pages, free_pages); #endif printf ("Mediastore %llu; files %llu; folders %llu; playlists %llu; \n", ((mme_ms_update_data_t*)&amp;mme_event-&gt;data)-&gt;msid, ((mme_ms_update_data_t*)&amp;mme_event-&gt;data)-&gt;added_filecount, ((mme_ms_update_data_t*)&amp;mme_event-&gt;data)-&gt;added_foldercount, ((mme_ms_update_data_t*)&amp;mme_event-&gt;data)-&gt;playlist_count ); break; } Thanks &amp; Regards, Vadivel Vadivel Palanisamy 2010-06-18T18:12:30Z post57195: Re: Zune playback http://community.qnx.com/sf/go/post57195 Hi Gilles, Some time we are getting following error (after inserting the device and before start selecting any item on the list) io-fs-media(pfs): Bad ioread status 5. io-fs-media(pfs): Bad ioread status 5. io-fs-media(pfs): Bad ioread status 5. io-fs-media(pfs): Bad ioread status 5. io-fs-media(pfs): Bad ioread status 5. io-fs-media(pfs): Bad ioread status 5. . .. ... etc Please find an attachment of 'pidin_log.txt' file. If possible, please can you provide me the information about zune certification?? like how to get?? any document or web-site link..etc to get certification that will be help for me. Regards, Vadivel Vadivel Palanisamy 2010-06-18T17:47:52Z post57187: Re: Zune playback http://community.qnx.com/sf/go/post57187 On 10-06-18 12:48 PM, "Gilles Roy" &lt;community-noreply@qnx.com&gt; wrote: &gt; &gt;&gt; &gt;&gt; Setup: &gt;&gt; H/w: Beagle board &gt;&gt; S/w: QNX 6.4.1 / Aviage multimedia 1.2.0 &gt;&gt; Zune 16 GB Model 1395 &gt;&gt; &gt;&gt; Please find the log file a attachment. &gt;&gt; &gt;&gt; Let me know is there any configuration change?? or need any specific codec &gt;&gt; for &gt;&gt; zune device. &gt; &gt; Zune contents are encrypted. To play a Zune device you need a certificate &gt; from Microsoft. I suspect you probably don't have one. &gt; &gt; Can you show me the pidin arg output on your system? &gt; &gt; &gt; Thanks, &gt; Gilles &gt; &gt; &gt; Jim Gilderson 2010-06-18T16:48:55Z post57186: Re: Zune playback http://community.qnx.com/sf/go/post57186 On 10-06-18 12:32 PM, "Vadivel Palanisamy" &lt;community-noreply@qnx.com&gt; wrote: &gt; We are trying to play the audio from zune and HMI shows error "unsupported &gt; codec". &gt; &gt; Setup: &gt; H/w: Beagle board &gt; S/w: QNX 6.4.1 / Aviage multimedia 1.2.0 &gt; Zune 16 GB Model 1395 &gt; &gt; Please find the log file a attachment. &gt; &gt; Let me know is there any configuration change?? or need any specific codec for &gt; zune device. Zune contents are encrypted. To play a Zune device you need a certificate from Microsoft. I suspect you probably don't have one. Can you show me the pidin arg output on your system? Thanks, Gilles Gilles Roy 2010-06-18T16:48:09Z post57182: Zune playback http://community.qnx.com/sf/go/post57182 Hi, We are trying to play the audio from zune and HMI shows error "unsupported codec". Setup: H/w: Beagle board S/w: QNX 6.4.1 / Aviage multimedia 1.2.0 Zune 16 GB Model 1395 Please find the log file a attachment. Let me know is there any configuration change?? or need any specific codec for zune device. Regards, Vadivel Vadivel Palanisamy 2010-06-18T16:32:10Z post57148: Re: RE: Creating a tracksession http://community.qnx.com/sf/go/post57148 Thanks Ryan Allen! Vadivel Palanisamy 2010-06-18T13:38:15Z post57116: RE: Creating a tracksession http://community.qnx.com/sf/go/post57116 Generally for iPod you will use a file-based tracksession. The iPod will fill-out a tracksession with other files in the folder you select. For example, if you create a file-based tracksession the first file in /Music/Songs/All/ the iPod will load all other items from the same folder into the playback engine. It will play the song you've selected first, but then it will play another one from that folder. The typical iPod tracksession is a file-based tracksession of only one item--the specific item that the user has selected. There are some exceptions to this general use. 1. If you sync the iPod to the library you can use library-based tracksessions. The same "autofill" of the playback engine mentioned above occurs, so you would generally only play one fid from the library and the iPod will carry on after that; 2. if you sync the iPod to the library AND use iPod stalked mode, you build library-based tracksessions with a list of the specific fids you want to play. Stalker mode has the MME specifically stop the iPod after each track has played, then the MME tells the iPod which song to play next. It's not perfect, but it is necessary if you want specific control over the playback order; 3. if you are resuming an iPod's playback using its existing playback engine (for example, when the user first connects the device), playback is usually done with the function mme_play_resume_msid(). This function automatically creates a library-based tracksession, though that is inconsequential to the caller. I'm not sure if iPod sync is in MME 1.2.1, and I don't think iPod stalker mode is. If you need either of these and don't have access to these features you'll have to talk to your QNX sales rep about a newer MME version. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-06-17T22:49:27Z post57115: Re: Creating a tracksession http://community.qnx.com/sf/go/post57115 Thanks Ryan! Can I create a track session (MME_PLAYMODE_LIBRARY) for iPOD device?? is there any constrain on it for iPOD. Advance thanks! Vadivel Vadivel Palanisamy 2010-06-17T22:10:55Z post57114: Re: Creating a tracksession http://community.qnx.com/sf/go/post57114 If you are synchronising a mediastore to the library then you can use a library-based tracksession. This builds a list of files to play by executing an sql query. An example using mmecli to play all media files from msid 7: mmecli newtrksession l "select fid from library where msid = 7 and ftype != 5;" If you will be exploring a mediastore (with the mme_explore_*() functions) you will get a list of files to play. For this you would use a file-based tracksession, adding the specific files you find that you want to play. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-06-17T21:31:18Z post57110: Creating a tracksession http://community.qnx.com/sf/go/post57110 In MME documents says, "MME supports two type of track session 1) Library 2)file-based" My question is: How do I decide, which one I have to use?? Vadivel Palanisamy 2010-06-17T20:31:20Z post55202: Re: the porting of h264 http://community.qnx.com/sf/go/post55202 Hi peter! thanks for your reply. I havn't intel codec package in my target.I want to complie a h264 codec lib,can you give me some example of the codec.thanks! Kailen High 2010-05-20T05:20:08Z post55154: Re: the porting of h264 http://community.qnx.com/sf/go/post55154 On Wed, 19 May 2010, Kailen High wrote: &gt;Subject: the porting of h264 &gt; &gt; Hi all! &gt; I want to play mp4 file in mme,but I can not get the decoder of &gt; h264.Can you descripe the interface of h264 decoder,is it similar &gt; with the mp4_parser? thanks very much! Video decoding is handled thru the intel codec package... do you have that on your system? What errors do you get when you do try and play? Peter Peter Martin 2010-05-19T14:44:27Z post55094: the porting of h264 http://community.qnx.com/sf/go/post55094 Hi all! I want to play mp4 file in mme,but I can not get the decoder of h264.Can you descripe the interface of h264 decoder,is it similar with the mp4_parser? thanks very much! Kailen High 2010-05-19T07:16:09Z post53704: Re: dose mme support the wav format? http://community.qnx.com/sf/go/post53704 Hi Steven, That’s interesting and news to me. My suggestion is that you open a discussion with QNX support to address this. Dan On 10-05-04 9:37 AM, "Steven Lougheed" &lt;community-noreply@qnx.com&gt; wrote: &gt; I think some of the confusion around wav files is that some CD rippers do &gt; include metadata in the wav files. For example, I have some CDs ripped with &gt; Windows Media Player and if I open the files with vi I can see: &gt; &gt; RIFF6þ¡[]WAVELISTÈ[]INFOIART[]Andrea BocelliINAM[]Macchine da &gt; Guerra[]IPRD[]Romanza[]IGNR[]Classical[] &gt; &gt; (non-printable characters have been replaced with []) &gt; &gt; So, in fact, this wave file does have artist, title, genre. The fact that &gt; other players windows players (MediaMonkey, Winamp, etc) can read and display &gt; this data makes me believe that there is some sort of standard. Any chance &gt; the mme can parse this &gt; data? _______________________________________________ Development http://c &gt; ommunity.qnx.com/sf/go/post53511 -- Dan Cardamore &lt;dcardamore@qnx.com&gt; Dan Cardamore 2010-05-06T19:45:29Z post53511: Re: dose mme support the wav format? http://community.qnx.com/sf/go/post53511 I think some of the confusion around wav files is that some CD rippers do include metadata in the wav files. For example, I have some CDs ripped with Windows Media Player and if I open the files with vi I can see: RIFF6þ¡[]WAVELISTÈ[]INFOIART[]Andrea BocelliINAM[]Macchine da Guerra[]IPRD[]Romanza[]IGNR[]Classical[] (non-printable characters have been replaced with []) So, in fact, this wave file does have artist, title, genre. The fact that other players windows players (MediaMonkey, Winamp, etc) can read and display this data makes me believe that there is some sort of standard. Any chance the mme can parse this data? Steven Lougheed 2010-05-04T13:37:20Z post53491: Re: dose mme support the wav format? http://community.qnx.com/sf/go/post53491 wav files don¹t contain as much metadata as id3 tags inside mp3s. You¹ll only get a few fields populated for wav files such as bitrate (not artist). Dan On 10-05-04 7:18 AM, "Kailen High" &lt;community-noreply@qnx.com&gt; wrote: &gt; Hi all! &gt; I play the song of wav format to gain the artist(title) from &gt; nowplaying,but it is null. Otherwize ,When I play the song of mp3 format ,I &gt; can get the artist(titile) from the nowplaying.In the path of dll/media,I can &gt; find the wavparser.so. &gt; Can you tell me the reason. &gt; thaks very much! &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post53488 &gt; &gt; -- Dan Cardamore &lt;dcardamore@qnx.com&gt; Dan Cardamore 2010-05-04T11:52:38Z post53488: dose mme support the wav format? http://community.qnx.com/sf/go/post53488 Hi all! I play the song of wav format to gain the artist(title) from nowplaying,but it is null. Otherwize ,When I play the song of mp3 format ,I can get the artist(titile) from the nowplaying.In the path of dll/media,I can find the wavparser.so. Can you tell me the reason. thaks very much! Kailen High 2010-05-04T11:18:34Z post52753: Re: MP3 Streaming Player http://community.qnx.com/sf/go/post52753 Hi Nischchal, I replied too early in the morning... while we don¹t have source you can grab the Intel IPP package which is available on the foundry27 project¹s file releases section. If you¹re on x86 then this should do you fine. It has many audio and video codecs, details are in our docs. Unfortunately, we don¹t have source available for this because of licensing issues. But you are free to use the binaries. Dan On 10-04-26 8:19 AM, "Nishchal Arora" &lt;community-noreply@qnx.com&gt; wrote: &gt; Hi Dan &gt; &gt; Is there any other audio/video formats that would not require a license that &gt; can be streamed from a remote server. The project is to build a streaming &gt; multimedia application, so if there are any such audio/video formats, it would &gt; be great. Would you also know if there are any open source filters that can be &gt; integrated easily into the QNX multimedia architecture? Thanks a lot ! &gt; &gt; Regards, &gt; Nishchal &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post52746 &gt; &gt; -- Dan Cardamore &lt;dcardamore@qnx.com&gt; Dan Cardamore 2010-04-26T13:06:09Z post52746: Re: MP3 Streaming Player http://community.qnx.com/sf/go/post52746 Hi Dan Is there any other audio/video formats that would not require a license that can be streamed from a remote server. The project is to build a streaming multimedia application, so if there are any such audio/video formats, it would be great. Would you also know if there are any open source filters that can be integrated easily into the QNX multimedia architecture? Thanks a lot ! Regards, Nishchal Nishchal Arora 2010-04-26T12:19:07Z post52735: Re: MP3 Streaming Player http://community.qnx.com/sf/go/post52735 Hi Nishchal, It isn¹t available in source form because of licensing issues. You need to license them in order to get them from us. Sorry, don¹t think this will be a good solution for you because of the legal hurdles. Dan On 10-04-22 5:36 PM, "Nishchal Arora" &lt;community-noreply@qnx.com&gt; wrote: &gt; Hi &gt; &gt; I have been trying to build a streaming mp3 player on QNX 6.3.2 as part of my &gt; college project. I built the multimedia suite from the source code as &gt; documented. &gt; &gt; I tried to compile the code to play an mp3 file given on the website. When I &gt; compile it, I get an error saying that the Xing Mpeg audio decoder is not &gt; found. &gt; &gt; The documentation, which says that it is only available with the multimedia &gt; TDKs which have been discontinued. &gt; &gt; I would really appreciate some help with this. &gt; &gt; Thanks &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post52432 &gt; &gt; -- Dan Cardamore &lt;dcardamore@qnx.com&gt; Dan Cardamore 2010-04-26T10:31:57Z post52432: MP3 Streaming Player http://community.qnx.com/sf/go/post52432 Hi I have been trying to build a streaming mp3 player on QNX 6.3.2 as part of my college project. I built the multimedia suite from the source code as documented. I tried to compile the code to play an mp3 file given on the website. When I compile it, I get an error saying that the Xing Mpeg audio decoder is not found. The documentation, which says that it is only available with the multimedia TDKs which have been discontinued. I would really appreciate some help with this. Thanks Nishchal Arora 2010-04-22T21:36:57Z post52004: RE: retrieving metadata information from an iPod http://community.qnx.com/sf/go/post52004 May depend on what info you are looking for: -- querying the nowplaying table (after you received MME_EVENT_NOWPLAYING_METADATA and not after EVENT_TRACKCHANGE) will give you info about the track that is being played back at the moment -- mme_explore_info_get() + mme_metadata_extract_string() will be useful for browsing the device or getting metadata (titles) of tracks in the nowplaying list You may want to take a look at the source of the mmexplore command line utility if have not seen yet: QNX641/target/qnx6/examples/mmexplore Mate Szarvas 2010-04-19T07:27:28Z post52003: retrieving metadata information from an iPod http://community.qnx.com/sf/go/post52003 Hi all, There are two ways of getting metadata from an iPod... The one is to use the mme_explore_info_get() function with a previous call of mme_explore_position_set() with needed metadata_types set as flags. The other way is to refer to the nowplaying table of the qdb. What is the better way to get metadata-information from an iPod? Artjom Dizel 2010-04-19T06:51:16Z post52002: Re: Creating an ipod-tracksession http://community.qnx.com/sf/go/post52002 thanks for the advice with 'io-media'. Taking another version of the driver solved the issue. Artjom Dizel 2010-04-19T06:40:58Z post51709: Re: Creating an ipod-tracksession http://community.qnx.com/sf/go/post51709 Is io-media running with a mountpoint of /dev/io-media/? If you run "ls /dev/io-media/" and then "ls /dev/io-media/graphs/" do you see the paths? The output from "pidin ar" and your io-media config file (if any) might also reveal whether or not this is setup. -- Ryan J. Allen QNX Software Systems Ryan Allen 2010-04-14T20:37:55Z post51673: Creating an ipod-tracksession http://community.qnx.com/sf/go/post51673 Hi all, How do i create an iPod tracksession right? what i do is the following: first i create a filebased tracksession with the msid of the ipod - mme_newtrksession(mme_hdl, MME_PLAYMODE_FILE, sqlStmt) with sqlStmt = "SELECT fid from library WHERE ftype=5 AND msid=(msid_of_ipod)" then I set the created tracksession with its returned id in mme_settrksession afterwards I call mme_set_trksession_files() with following path: /Music/Artists/item~0/item~0/item~0 ( first item~0=AlbumA, sec. is ArtistA and third is the Song itself) Here my first question: Is the path given to the mme in the described form right? (The function returns no error) When calling mme_play(0) or mme_play_offset(0), no playback is started. The sloginfo reports the error: "Could not create graph..." see attached sloginfo.txt (the log-level was set to "mmecli set_debug 8 0" Thanks for any help. Artjom Dizel 2010-04-14T16:29:48Z post51209: Re: Starting the iPod filesystem with serial cable connection http://community.qnx.com/sf/go/post51209 &gt; when starting io-fs-media with option -dipod,transport=ser:dev=/dev/ser1 do I &gt; have to specify the acp=i2c option also, or is it only needed when starting io &gt; -fs-media -dipod with transport option set to "usb"? Well, specifying the acp=i2c option tells the iPod driver if you have an authentication coprocessor or not. If you do have an auth chip you should use that option regardless of the transport being used (serial or USB). If you don't have an authentication coprocessor, you can still get playback with analog audio over a serial connection, so the authentication is really only mandatory for USB playback. Regards, Gilles Gilles Roy 2010-04-06T14:49:42Z post51207: Starting the iPod filesystem with serial cable connection http://community.qnx.com/sf/go/post51207 Hi all, when starting io-fs-media with option -dipod,transport=ser:dev=/dev/ser1 do I have to specify the acp=i2c option also, or is it only needed when starting io-fs-media -dipod with transport option set to "usb"? Artjom Dizel 2010-04-06T14:41:15Z post50502: Re: Error "Maximum allowed filesystems with MME reached" http://community.qnx.com/sf/go/post50502 You are right, it is our code which is doing the limiting. Problem fixed now. Thanks! Jasmine Fong 2010-03-25T21:52:20Z post49709: Re: [MME] Freeing memory of mme_explore_info_t structures http://community.qnx.com/sf/go/post49709 &gt; will the memory allocated for the mme_explore_info_t structures retrieved &gt; during an explore session - i.e. calling multiple times mme_explore_info_get() &gt; - be freed with the call mme_explore_end() - all structures related to the &gt; closed mme_explore_hdl? Yes, all will be freed when you call mme_explore_end(). The MME uses a single buffer that can contain information about multiple items (when you call info_get() the first time, it can transfer multiple items from the MME to the client lib and keep them cached). The next time you call info_get() it might not even result in a context switch to the MME, instead the information might already be in the cache in the client memory space. Of note, you should take what information you need from the result before calling the next info_get(), otherwise the first results memory could be reused and will no longer be valid. Gilles Gilles Roy 2010-03-17T11:20:00Z post49696: [MME] Freeing memory of mme_explore_info_t structures http://community.qnx.com/sf/go/post49696 Hi all, will the memory allocated for the mme_explore_info_t structures retrieved during an explore session - i.e. calling multiple times mme_explore_info_get() - be freed with the call mme_explore_end() - all structures related to the closed mme_explore_hdl? Kind Regards, Sebastian Sebastian Kiesel 2010-03-17T07:11:39Z post49615: Re: Exploring - Retrieving the filename http://community.qnx.com/sf/go/post49615 I believe it includes the path information as well, but not the mountpath. Regards, Gilles Gilles Roy 2010-03-16T15:15:07Z post49613: Re: [MME] Correct usage of mme_explore_playlist_find_file() http://community.qnx.com/sf/go/post49613 &gt; Is it only a copy and paste typo within the PDF documentation - what I guess? &gt; Do I need a pointer to a mme_explore_hdl_t at all while using &gt; mme_explore_playlist_find_file()? I've created an internal PR:75404 to update the documentation. The header files are correct, for that API you need to pass in the mme_hdl_t. Regards, Gilles Gilles Roy 2010-03-16T15:03:49Z post49607: Re: [MME] Correct usage of mme_explore_playlist_find_file() http://community.qnx.com/sf/go/post49607 You may want to have a look at the source of the mmexplore sample util if have not yet. ----- Original Message ----- From: Sebastian Kiesel &lt;community-noreply@qnx.com&gt; To: development-multimedia &lt;post49571@community.qnx.com&gt; Sent: Tue Mar 16 05:16:40 2010 Subject: [MME] Correct usage of mme_explore_playlist_find_file() Hi all, the documentation in the header file is different from that in the pdf. API-Call from the Header file: const mme_explore_info_t *mme_explore_playlist_find_file(mme_hdl_t *hdl, uint64_t msid, const char *entry, const char *path, const char *metadata_types, uint32_t flags); Docu - Header file hdl:= Handle to the MME ... Docu - PDF hdl:= A handle to the MME returned by mme_explore_start() ... =&gt; mme_explore_start returns a pointer to a mme_explore_hdl_t More over in the PDF it is indicated that the result of mme_explore_playlist_find_file() - which is a mme_explore_info_t - has to be released using mme_explore_info_free(). =&gt; mme_explore_info_free() is also documented in in different ways: API-Call from the Header file: int mme_explore_info_free(mme_hdl_t *hdl, const mme_explore_info_t *info); Docu - Header file hdl:= Handle to the MME ... Docu - PDF hdl:= A handle to the MME returned by mme_explore_start() ... =&gt; mme_explore_start returns a pointer to a mmm_explore_hdl_t Is it only a copy and paste typo within the PDF documentation - what I guess? Do I need a pointer to a mme_explore_hdl_t at all while using mme_explore_playlist_find_file()? Thanks a lot, Sebastian _______________________________________________ Development http://community.qnx.com/sf/go/post49571 Mate Szarvas 2010-03-16T14:33:47Z post49597: Re: mme.conf - parameter for notification interval http://community.qnx.com/sf/go/post49597 There isn¹t a configuration option so you need to use the API. Dan On 10-03-16 5:49 AM, "Sebastian Kiesel" &lt;community-noreply@qnx.com&gt; wrote: &gt; Hi all, &gt; &gt; is there an option within the mme.conf to set the notification interval or &gt; could this only be done using the api call mme_set_notification_interval()? &gt; &gt; Kind Regards, &gt; Sebastian &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post49573 &gt; &gt; -- Dan Cardamore &lt;dcardamore@qnx.com&gt; QNX Multimedia http://community.qnx.com/sf/projects/multimedia Dan Cardamore 2010-03-16T13:34:27Z post49573: mme.conf - parameter for notification interval http://community.qnx.com/sf/go/post49573 Hi all, is there an option within the mme.conf to set the notification interval or could this only be done using the api call mme_set_notification_interval()? Kind Regards, Sebastian Sebastian Kiesel 2010-03-16T09:49:21Z post49571: [MME] Correct usage of mme_explore_playlist_find_file() http://community.qnx.com/sf/go/post49571 Hi all, the documentation in the header file is different from that in the pdf. API-Call from the Header file: const mme_explore_info_t *mme_explore_playlist_find_file(mme_hdl_t *hdl, uint64_t msid, const char *entry, const char *path, const char *metadata_types, uint32_t flags); Docu - Header file hdl:= Handle to the MME ... Docu - PDF hdl:= A handle to the MME returned by mme_explore_start() ... =&gt; mme_explore_start returns a pointer to a mme_explore_hdl_t More over in the PDF it is indicated that the result of mme_explore_playlist_find_file() - which is a mme_explore_info_t - has to be released using mme_explore_info_free(). =&gt; mme_explore_info_free() is also documented in in different ways: API-Call from the Header file: int mme_explore_info_free(mme_hdl_t *hdl, const mme_explore_info_t *info); Docu - Header file hdl:= Handle to the MME ... Docu - PDF hdl:= A handle to the MME returned by mme_explore_start() ... =&gt; mme_explore_start returns a pointer to a mmm_explore_hdl_t Is it only a copy and paste typo within the PDF documentation - what I guess? Do I need a pointer to a mme_explore_hdl_t at all while using mme_explore_playlist_find_file()? Thanks a lot, Sebastian Sebastian Kiesel 2010-03-16T09:16:40Z post49334: Exploring - Retrieving the filename http://community.qnx.com/sf/go/post49334 Hi all, includes the path within the struct mme_explore_info_t already the filename or not after calling mme_explore_info_get? Thanks, Sebastian Sebastian Kiesel 2010-03-12T07:41:35Z post49295: Re: MME Explorer API - mme_explore_position_set http://community.qnx.com/sf/go/post49295 &gt; What has to be defined by the parameter items within mme_explore_position_set &gt; before calling the api function mme_explorer_info_get? &gt; Should it be 1 all the time or the number of items read out using a bunch of &gt; mme_explorer_info_get calls afterwards? You should put the number of how many info_get() calls you will make. For example, if on your HMI you display 5 items (but plan on reading 10, say 5 extra to handle a page down) you should pass in items = 10. It is treated as a hint, it allows the MME to optimize things in some situations for better performance. Regards, Gilles Gilles Roy 2010-03-11T15:40:56Z post49280: MME Explorer API - mme_explore_position_set http://community.qnx.com/sf/go/post49280 Hi all, using the api call mme_explorer_info_get retrieves the information for one item per call if I understood the docum correctly. What has to be defined by the parameter items within mme_explore_position_set before calling the api function mme_explorer_info_get? Should it be 1 all the time or the number of items read out using a bunch of mme_explorer_info_get calls afterwards? Thanks a lot, Sebastian Sebastian Kiesel 2010-03-11T15:03:12Z post48753: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48753 &gt; I did try to build on the command line but it says the svn is not recognized. I don't use Windows, so I am only of limited help here. You might need to install SVN separately if it didn't come with the QNX host side tools. You could also use the IDE to check out the sources. Maybe post in a more general forum on the foundry (more users are monitoring so more chances of getting help), as this particular svn issue has nothing to do with Multimedia. Regards, Gillles Gilles Roy 2010-03-03T20:51:58Z post48732: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48732 Hi Giles I did try to build on the command line but it says the svn is not recognized. Regards, Seraph Seraph Varghese 2010-03-03T17:14:21Z post48697: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48697 &gt; I tried to build the MM suite on Windows as you suggested. For getting the &gt; source code, we need to use the svn command. I noticed that there are zip &gt; files on subversion for windows for the source code of the operating system. &gt; Are there zip files that contain the multimedia source code as well? No, I think you need to check it out with SVN. There is probably a way to use SVN with IDE as well to check out the source code. I actually build on the command line, and then export my build area and stage over CIFS/NFS. Then on the QNX target I mount this shared folder and run a script to set my environment (LD_LIBRARY_PATH and PATH) so that it uses those binaries. Then I have a script that starts all the multimedia binaries. Regards, Gilles Gilles Roy 2010-03-03T13:48:13Z post48692: Re: high-power USB device support http://community.qnx.com/sf/go/post48692 Might want to post this in the "BSP and drivers" project, you might get more USB experts monitoring that forum. Regards, Gilles Gilles Roy 2010-03-03T13:28:45Z post48691: Re: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post48691 Hi all, thank you very much for your answers. I created a new table without specifying a primary key, which results in the behavior to retrieve the database ROWID when i select the ROWID. Furthermore i created a unique index on one column to prevent adding the same id twice to the table. Cheers, Florian Florian Becher 2010-03-03T13:23:49Z post48666: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48666 Hi Giles I tried to build the MM suite on Windows as you suggested. For getting the source code, we need to use the svn command. I noticed that there are zip files on subversion for windows for the source code of the operating system. Are there zip files that contain the multimedia source code as well? Regards, Seraph Seraph Varghese 2010-03-02T21:46:45Z post48612: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48612 &gt; Are you suggesting to download the QNX momentics tool suite 6.4 for windows &gt; and build the MM suite on both windows and QNX...do all the coding there and &gt; setup a Neutrino OS viirtually where I would do the testing? If the IDE is important to you, you can do a "host" install on Windows (i.e. IDE and tools) and install only the QNX runtime on an x86 machine or in a virtual machine. Then you do all of your compilation/building on Windows. You don't build the MM suite on Neutrino at all, you just run/debug your binaries there. The IDE gives you can easy way to move over the binaries and to launch/debug binaries from the Windows host into the QNX target. Regards, Gilles Gilles Roy 2010-03-02T14:40:18Z post48597: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48597 Hi Giles Are you suggesting to download the QNX momentics tool suite 6.4 for windows and build the MM suite on both windows and QNX...do all the coding there and setup a Neutrino OS viirtually where I would do the testing? Regards, Seraph Seraph Varghese 2010-03-02T09:52:10Z post48591: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48591 A text editor would be sufficient. You can also also setup a "target" box with QNX 6.4 self hosted (for testing) but build and debug from a windows or linux machine (you need to install the QNX 6.4 tools on your host machine as well). This way you will have the IDE. Gilles Gilles Roy 2010-03-02T01:28:04Z post48571: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48571 Hi Dan Okay. I will download QNX 6.4. However, it would not have the IDE. Do u think the IDE would be important for the application I am designing or would a text editor be sufficient? Regards, Seraph Seraph Varghese 2010-03-01T21:44:47Z post48537: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48537 Hi Seraph, I recommend getting yourself a 6.4.1 license. Does this suit your needs? http://www.qnx.com/products/evaluation/non-commercial_developer.html Dan Dan Cardamore 2010-03-01T18:35:53Z post48528: Re: Error "Maximum allowed filesystems with MME reached" http://community.qnx.com/sf/go/post48528 &gt; "Maximum allowed filesystems with MME reached!" Based on the mcd.cfg you posted, I suspect this is your software doing this, not QNX software. &gt; I can clearly see the 4th device being mounted. &gt; &gt; /dev/umass/usb07500t12.2 on /fs/usb2 type dos (fat32) &gt; /dev/umass/usb07500t12.1 on /fs/usb1 type dos (fat32) &gt; /dev/umass/usb07500t12 on /fs/usb0 type dos (fat32) &gt; /dev/umass/usb00600t11 on /mnt/umass00600t11 type dos (fat32) &gt; /dev/umass/usb07500t12.2 on /mnt/umass07500t12.2 type dos (fat32) &gt; /dev/umass/usb07500t12.1 on /mnt/umass07500t12.1 type dos (fat32) &gt; /dev/umass/usb07500t12 on /mnt/umass07500t12 type dos (fat32) Looks like the media launcher is mounting all of the devices, but some other piece of software (i.e. the one I suspect isn't QNX software) seems be creating symlinks from /mnt/umass* to /fs/usb*. However, for some reason it isn't creating the fourth symlink, only 3. I think you should track down which software is responsible for doing this and start the investigation there. Regards, Gilles Gilles Roy 2010-03-01T16:33:35Z post48439: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48439 In the General Multimedia forum group there is a thread started about building on 6.3.0. You should have a look, the title of the thread is "Multimedia Suite". Here is a link: http://community.qnx.com/sf/discussion/do/listPosts/projects.multimedia/discussion.general.topc12294 Regards, Gilles Gilles Roy 2010-02-26T17:29:14Z post48396: Re: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48396 Or would it be better to build the MM suite source code directly on to the QNX 6.3 RTOS? Seraph Varghese 2010-02-26T13:42:57Z post48264: Multimedia Streaming Application in QNX http://community.qnx.com/sf/go/post48264 Hi I have to build a multimedia streaming application (non-commercial) to run on QNX RTOS. Since, it wouldn't be feasible for us to get a commercial license for the MM Suite, we are planning to build it from the source code released on the community website. The problem is that to build the latest version from the source code, I need QNX 6.4 or greater, but QNX SDP 6.4.x for Neutrino Hosts does not have the IDE. The evaluation version does contain the IDE but is licensed for 30 days only. One of the options I was considering was to install the SDP for Windows Hosts (which contains the IDE), build the MM suite on windows and then transfer it to QNX 6.3. Is this possible? What is the best way to get around this problem? Thanks, Seraph Seraph Varghese 2010-02-25T12:29:00Z post48241: Re: Error "Maximum allowed filesystems with MME reached" http://community.qnx.com/sf/go/post48241 &gt; On Wed, 24 Feb 2010, Jasmine Fong wrote: &gt; &gt; What does your mcd.mnt file look like? All of the items that are &gt; mounted for you all seem to be coming from the first usb stick which &gt; has 3 partitions. If you insert them in the opposite order, do you get &gt; one item mounted and 3 that aren't? If I insert USB, then the three partitiioned USB I will see one USB and two of three partitions being mounted, shown below. # mount /dev/umass/usb06900t12.1 on /fs/usb2 type dos (fat32) ==&gt; partition 1 /dev/umass/usb06900t12 on /fs/usb1 type dos (fat32) ==&gt; partition 2 /dev/umass/usb05500t11 on /fs/usb0 type dos (fat32) ==&gt; another usb stick /dev/blk/usb-8-iui-2-media on /fs/ipod1 type ipod /dev/blk/usb-7-pfs-0-media on /fs/pfs1 type pfs /dev/blk/usb-6-pfs-0-media on /fs/pfs0 type pfs /dev/blk/usb-1-iui-2-media on /fs/ipod0 type ipod /dev/blk/ram-0-alloc-0-tmp on /fs/tmpfs type tmp /dev/umass/usb06900t12.2 on /mnt/umass06900t12.2 type dos (fat32) ==&gt; This one didn't show up. /dev/umass/usb06900t12.1 on /mnt/umass06900t12.1 type dos (fat32) /dev/umass/usb06900t12 on /mnt/umass06900t12 type dos (fat32) /dev/umass/usb05500t11 on /mnt/umass05500t11 type dos (fat32) /dev/umass/usb06900t12.2 on /mnt/umass06900t12.2 type dos (fat32) ==&gt; This one didn't show up, it should have been /fs/usb3 You mean mcd.cfg? # USB MSC Devices [/fs/usb*] Callout = PATH_MEDIA_PROCMGR Argument = /proc/mount Priority = 11,10 Start Rule = SW_UPDATE Stop Rule = MMEMediumEjected [SW_UPDATE] Callout = FNAME_MATCH Argument = /CD_INFO.CDI Fail Rule = NAV_UPDATE Match Rule = NAV_UPDATE [NAV_UPDATE] Callout = FNAME_MATCH Argument = /config.nfm Fail Rule = GN_UPDATE Match Rule = GN_UPDATE [GN_UPDATE] Callout = FNAME_MATCH Argument = /gnupdate Fail Rule = MIXED_AV Match Rule = MIXED_AV [MIXED_AV] Callout = FNAME_PATTERN Argument = *.MP3,*.mp3,*.WMA,*.wma,*.AAC,*.aac,*.M4A,*.m4a Fail Rule = PICTURES Match Rule = PICTURES [PICTURES] Callout = FNAME_PATTERN Argument = *.JPG,*.jpg,*.JPEG,*.jpeg Fail Rule = MMEMediumInserted Match Rule = MMEMediumInserted [IPOD] Match Rule = MMEMediumInserted [PFS] Callout = FNAME_PATTERN Argument = *.MP3,*.mp3,*.WMA,*.wma,*.AAC,*.aac,*.M4A,*.m4a Match Rule = MMEMediumInserted Fail Rule = MMEMediumInserted [A2DP] Match Rule = MMEMediumInserted [MMEMediumInserted] &gt; I don't recognize the error message as the one you've listed and I just did &gt; a quick check and had 6 distinct usb keys found/mounted on my system. &gt; &gt; # qdbc -dmme "select msid,mountpath from mediastores" # qdbc -d mme "select msid,mountpath from mediastores" Rows: 8 Cols: 2 Names: +msid+mountpath+ 00000: |1|/fs/ipod0| 00001: |2|/fs/usb1| 00002: |3|/fs/usb2| 00003: |4|| 00004: |5|/fs/pfs0| 00005: |6|/fs/pfs1| 00006: |7|/fs/ipod1| 00007: |8|/fs/usb0| Jasmine Fong 2010-02-24T21:45:35Z post48217: Re: Error "Maximum allowed filesystems with MME reached" http://community.qnx.com/sf/go/post48217 On Wed, 24 Feb 2010, Jasmine Fong wrote: &gt;Date: Wed, 24 Feb 2010 12:14:11 -0500 (EST) &gt;From: Jasmine Fong &lt;community-noreply@qnx.com&gt; &gt;Reply-To: post48196@community.qnx.com &gt;To: development-multimedia &lt;post48196@community.qnx.com&gt; &gt;Subject: Error "Maximum allowed filesystems with MME reached" &gt; &gt; &gt; Currently, our mme only allows 3 USB devices to be shown. &gt; If I insert a fouth USB device, the error I get from screen is &gt; &gt; "Maximum allowed filesystems with MME reached!" &gt; &gt; And if I look under our mme fs perspective, there is no new mout point. However, the mediaLauncher is happy with the fouth device. If I type &gt; &gt; mount &gt; &gt; I can clearly see the 4th device being mounted. &gt; &gt; /dev/fs0p4 on /HBpersistence type flash &gt; /dev/umass/usb07500t12.2 on /fs/usb2 type dos (fat32) &gt; /dev/umass/usb07500t12.1 on /fs/usb1 type dos (fat32) &gt; /dev/umass/usb07500t12 on /fs/usb0 type dos (fat32) &gt; /dev/blk/usb-4-pfs-0-media on /fs/pfs0 type pfs &gt; /dev/blk/ram-0-alloc-0-tmp on /fs/tmpfs type tmp &gt; /dev/umass/usb00600t11 on /mnt/umass00600t11 type dos (fat32) &gt; /dev/umass/usb07500t12.2 on /mnt/umass07500t12.2 type dos (fat32) &gt; /dev/umass/usb07500t12.1 on /mnt/umass07500t12.1 type dos (fat32) &gt; /dev/umass/usb07500t12 on /mnt/umass07500t12 type dos (fat32) What does your mcd.mnt file look like? All of the items that are mounted for you all seem to be coming from the first usb stick which has 3 partitions. If you insert them in the opposite order, do you get one item mounted and 3 that aren't? I don't recognize the error message as the one you've listed and I just did a quick check and had 6 distinct usb keys found/mounted on my system. # qdbc -dmme "select msid,mountpath from mediastores" Rows: 9 Cols: 2 Names: +msid+mountpath+ 00000: |1|/dev/snd| 00001: |2|/dev/socket| 00002: |3|/media/drive| 00003: |4|/fs/usb2| 00004: |5|/fs/usb1| 00005: |6|/fs/usb0| 00006: |7|/fs/usb3| 00007: |8|/fs/usb4| 00008: |9|/fs/usb5| # mount /net/EAc4dd91.ott.qnx.com/dev/hd0t179 on / type qnx6 /net/EAc4dd91.ott.qnx.com/dev/umass6t12 on /fs/usb5 type dos (fat32) /net/EAc4dd91.ott.qnx.com/dev/umass5t11 on /fs/usb4 type dos (fat32) /net/EAc4dd91.ott.qnx.com/dev/umass4t4 on /fs/usb3 type dos (fat32) /net/EAc4dd91.ott.qnx.com/dev/umass1t11 on /fs/usb2 type dos (fat32) /net/EAc4dd91.ott.qnx.com/dev/umass3t11 on /fs/usb1 type dos (fat32) /net/EAc4dd91.ott.qnx.com/dev/umass2t11 on /fs/usb0 type dos (fat32) /net/EAc4dd91.ott.qnx.com/dev/blk/ram-0-alloc-0-tmp on /fs/tmpfs type tmp # qdbc -dmme "select * from slots" Rows: 20 Cols: 10 Names: +slotid+active+msid+multimsid+slottype+zoneid+max_lib_entries+delete_at_start+path+name+ 00000: |1|1|3|0|3|1|1000|0|/media/drive|HardDrive| 00001: |2|1|6|0|1|1|1000|0|/fs/usb0|USB| 00002: |3|1|5|0|1|1|1000|0|/fs/usb1|USB| 00003: |4|1|4|0|1|1|1000|0|/fs/usb2|USB| 00004: |5|1|7|0|1|1|1000|0|/fs/usb3|USB| 00005: |6|1|8|0|1|1|1000|0|/fs/usb4|USB| 00006: |7|1|9|0|1|1|1000|0|/fs/usb5|USB| 00007: |8|0|0|0|1|1|1000|0|/fs/usb6|USB| 00008: |9|0|0|0|1|1|1000|0|/fs/usb7|USB| 00013: |14|0|0|0|4|1|1000|0|/fs/ipod0|iPod| 00014: |15|0|0|0|4|1|1000|0|/fs/pfs0|PlaysForSure| 00018: |19|1|2|0|10|1|1000|0|/dev/socket|INTERNET| # Thanks, Peter Peter Martin 2010-02-24T18:58:24Z post48196: Error "Maximum allowed filesystems with MME reached" http://community.qnx.com/sf/go/post48196 Currently, our mme only allows 3 USB devices to be shown. If I insert a fouth USB device, the error I get from screen is "Maximum allowed filesystems with MME reached!" And if I look under our mme fs perspective, there is no new mout point. However, the mediaLauncher is happy with the fouth device. If I type mount I can clearly see the 4th device being mounted. /dev/fs0p4 on /HBpersistence type flash /dev/umass/usb07500t12.2 on /fs/usb2 type dos (fat32) /dev/umass/usb07500t12.1 on /fs/usb1 type dos (fat32) /dev/umass/usb07500t12 on /fs/usb0 type dos (fat32) /dev/blk/usb-4-pfs-0-media on /fs/pfs0 type pfs /dev/blk/ram-0-alloc-0-tmp on /fs/tmpfs type tmp /dev/umass/usb00600t11 on /mnt/umass00600t11 type dos (fat32) /dev/umass/usb07500t12.2 on /mnt/umass07500t12.2 type dos (fat32) /dev/umass/usb07500t12.1 on /mnt/umass07500t12.1 type dos (fat32) /dev/umass/usb07500t12 on /mnt/umass07500t12 type dos (fat32) Our slot table in mme library is shown as: # qdbc -d mme "select * from slots" Rows: 13 Cols: 10 Names: +slotid+active+msid+multimsid+slottype+zoneid+max_lib_entries+delete_at_start+path+name+ 00000: |1|1|2|0|1|1|0|0|/fs/usb0|USB 1| 00001: |2|1|1|0|1|1|0|0|/fs/usb1|USB 2| 00002: |3|1|3|0|1|1|0|0|/fs/usb2|USB 3| 00003: |4|0|0|0|1|1|0|0|/fs/usb3|USB 4| 00004: |5|0|0|0|1|1|0|0|/fs/usb4|USB 5| 00005: |6|0|0|0|1|1|0|0|/fs/usb5|USB 6| 00006: |7|0|0|0|1|1|0|0|/fs/usb6|USB 7| 00007: |8|0|0|0|1|1|0|0|/fs/usb7|USB 8| 00008: |9|0|0|0|4|1|0|0|/fs/ipod0|iPod 1| 00009: |10|0|0|0|4|1|0|0|/fs/ipod1|iPod 2| 00010: |11|1|4|0|4|1|0|0|/fs/pfs0|PFS 1| 00011: |12|0|0|0|4|1|0|0|/fs/pfs1|PFS 2| 00012: |13|0|0|0|4|1|0|0|/fs/avrcp0|Bluetooth 1| Any idea? Thanks! Jasmine Fong 2010-02-24T17:14:10Z post47611: Re: high-power USB device support http://community.qnx.com/sf/go/post47611 Yes, it is the same issue. The iPods and certain USB keys are only working after connected with a powered USB hub, otherwise just fail to be recognized by the usb driver. It is most likely an hardware issue and we wonder whether there is a way on software side can help to identify the problem. Now the problematic hardware is not available and will get more info once it is ready again, thanks. Regards, Chris Chris Li 2010-02-17T21:58:23Z post47509: Re: high-power USB device support http://community.qnx.com/sf/go/post47509 &gt; The scenario is after connecting the usb key, the io-usb and &gt; umass driver couldn't recognize the device, hence could not mount the device &gt; as /fs/usb0 which readable by Aviage. Is this the same issue? The last post by Radek said the issue was with iPods. Does your USB key issue occur through a hub as well, or only when directly connected to the board? &gt; Jan 01 00:14:52 2 12 0 CLASS_EnumerateDevice: Get device descriptor &gt; failed 5 &gt; &gt; Not so sure what that means, especially for the error message of " &gt; CLASS_ExtractDevice: no parent", it happens all the time when connected the &gt; problematic device (It is 128 MB usb key). The message "no parent" is normal. The Get device descriptor failed 5 isn't. Can you slay and restart io-usb with more ehci verbosity? The slogs should then have more info. I think you need to do something like: io-usb -c -v -dehci pindex=0,verbose=5 &amp; Regards, Gilles Gilles Roy 2010-02-17T14:38:35Z post47467: Re: high-power USB device support http://community.qnx.com/sf/go/post47467 Hi Gilles, Just like to get some info about the meaning of some error messages related to the USB issue. The scenario is after connecting the usb key, the io-usb and umass driver couldn't recognize the device, hence could not mount the device as /fs/usb0 which readable by Aviage. No info came form usb -vvvvv as: # usb -vvvvv USB 0 (EHCI) v1.10, v1.01 DDK, v1.01 HCD Control, Interrupt, Bulk(SG), Isoch(Stream), Low speed, High speed From sloginfo, there are something prompted out as Time Sev Major Minor Args Jan 01 00:14:49 2 12 0 CLASS_ExtractDevice: no parent Jan 01 00:14:50 2 12 0 CLASS_EnumerateDevice: bus 0, parent 0, port 0, speed 2 Jan 01 00:14:50 2 12 0 CLASS_EnumerateDevice: Get device descriptor Jan 01 00:14:50 2 12 0 CLASS_EnumerateDevice: Get device descriptor failed 5 Jan 01 00:14:51 2 12 0 CLASS_EnumerateDevice: bus 0, parent 0, port 0, speed 2 Jan 01 00:14:51 2 12 0 CLASS_EnumerateDevice: Get device descriptor Jan 01 00:14:51 2 12 0 CLASS_EnumerateDevice: Get device descriptor failed 5 Jan 01 00:14:52 2 12 0 CLASS_EnumerateDevice: bus 0, parent 0, port 0, speed 2 Jan 01 00:14:52 2 12 0 CLASS_EnumerateDevice: Get device descriptor Jan 01 00:14:52 2 12 0 CLASS_EnumerateDevice: Get device descriptor failed 5 Not so sure what that means, especially for the error message of "CLASS_ExtractDevice: no parent", it happens all the time when connected the problematic device (It is 128 MB usb key). Regards, Chris Chris Li 2010-02-17T01:07:58Z post47440: Re: high-power USB device support http://community.qnx.com/sf/go/post47440 &gt; Is there anything special we need to do to tell Aviage that the USB driver has &gt; 500mA available? The output of usb -v show this: Device Address : 2 Upstream Host Controller : 0 Upstream Device Address : 1 Upstream Port : 1 Upstream Port Speed : High Vendor : 0x05ac (Apple Inc.) Product : 0x1261 (iPod) Device Release : r0.01 Class : 0x00 (Independent per interface) Max PacketSize0 : 64 Configurations : 2 Configuration : 1 Attributes : 0xc0 (Self-powered) Max Power : 500 mA Configuration : 2 (iPod USB Interface) Attributes : 0xc0 (Self-powered) Max Power : 500 mA You can see for both configuration 1 and 2 it says max power 500 mA. This means as soon as the configuration is selected the iPod is allowed to draw the full 500 mA. Gilles Gilles Roy 2010-02-16T18:33:00Z post47374: Re: high-power USB device support http://community.qnx.com/sf/go/post47374 &gt; Is there anything special we need to do to tell Aviage that the USB driver has &gt; 500mA available? &gt; We currently have an issue that some iPods don't work unless plugged through a &gt; powered USB hub. Therefore the theory goes that the USB device is not being &gt; told that it can use 500mA (I think the host must tell the device this, &gt; otherwise the device will only draw less than 50mA??). Our hardware is &gt; capable of safely providing 500mA to a connected device. There are no special Aviage APIs for anything like this. I don't think there should be anything for you to do. Can you clarify in which way the iPods "don't work"? Once the configuration of the iPod gets selected the device is then allowed to draw up to its full reported power usage. Is the iPod displaying an error on the screen, or is it failing in some other way? Which iPods (touches, iPhones, nano, classic) don't work? Does the output of sloginfo show anything when this occurs? Thanks, Gilles Gilles Roy 2010-02-16T14:24:32Z post47331: high-power USB device support http://community.qnx.com/sf/go/post47331 Hi, Is there anything special we need to do to tell Aviage that the USB driver has 500mA available? We currently have an issue that some iPods don't work unless plugged through a powered USB hub. Therefore the theory goes that the USB device is not being told that it can use 500mA (I think the host must tell the device this, otherwise the device will only draw less than 50mA??). Our hardware is capable of safely providing 500mA to a connected device. Regards, Radek. Radek Pesina 2010-02-15T23:39:35Z post47227: Re: QDB - Precompiled vs. Not-Precompiled Database Queries http://community.qnx.com/sf/go/post47227 &gt; - How much faster is a precompiled database query? I think it depends a lot on the complexity of the query. I'm sure a prepared statement is always faster, however note that if you were just to run it once you would have to do multiple API calls, one to prepare it, one to execute it and one to free it. &gt; - How much memory does the QDB need to hold one precompiled query? It depends on the complexity of the statement. I think it can hold several kilobytes of memory for some statements. &gt; - What is the overall limit of precompiled queries? I don't think there is any limit above how much memory they would consume. &gt; - Would you recommend to free not reused precompiled database queries manually or not? In the MME, we create a wrapper function which we pass the prepared statement ID into. If there is no prepared statement for this ID, it goes ahead and creates one (it will be reused next time the same ID is passed in). If we don't need to hold on the ID, we pass in a special ID called FREE_AFTER_USE and the wrapper function frees the prepared statement once it has the result. In general, I'd say always use prepared statements. We use them for almost everything in the MME, even sometimes statements we execute only once. The main benefit is that it also prevents issues with strings not being escaped properly (i.e. when using normal statements you have to take care to use %q and %Q properly, in some cases a %s is a mistake). qdb_statement() is more useful if you are building dynamic statements that are always different and that you run frequently. In those cases you might not want the overhead of preparing/executing/freeing a normal prepared statement. Gilles Roy 2010-02-12T15:53:07Z post47218: QDB - Precompiled vs. Not-Precompiled Database Queries http://community.qnx.com/sf/go/post47218 Hi all, I have a few questions related to precompiled database queries. - How much faster is a precompiled database query? - How much memory does the QDB need to hold one precompiled query? - What is the overall limit of precompiled queries? - Would you recommend to free not reused precompiled database queries manually or not? Thanks a lot for answering. Kind Regards, Sebastian Sebastian Kiesel 2010-02-12T14:51:41Z post47182: Re: QNX Multimedia Streaming Application http://community.qnx.com/sf/go/post47182 Hi Dan Thanks a lot for your help Seraph On Tue, Feb 9, 2010 at 7:49 PM, Dan Cardamore &lt;community-noreply@qnx.com&gt;wrote: &gt; Hi Seraph, &gt; &gt; The MM suite can be downloaded from from the community site and can be used &gt; as a hobbyist. I recommend reading the license guide here: &gt; http://community.qnx.com/sf/projects/multimedia &gt; &gt; You can download the core and IPP packages from the community site and this &gt; can give you http playback of audio and video streams on intel. I'm not &gt; sure what platforms, codecs, and stream protocols you need to use. &gt; &gt; http://community.qnx.com/sf/frs/do/listReleases/projects.multimedia/frs.qnx_aviage_multimedia_core_1_1 &gt; &gt; http://community.qnx.com/sf/frs/do/listReleases/projects.multimedia/frs.qnx_aviage_multimedia_ipp_video &gt; &gt; In addition, you're welcome to build the latest version using the source &gt; guide: &gt; &gt; http://community.qnx.com/sf/wiki/do/viewPage/projects.multimedia/wiki/SourceGuide &gt; &gt; Dan &gt; &gt; &gt; On 2010-02-09, at 2:43 PM, Seraph Varghese wrote: &gt; &gt; &gt; Hi Dan &gt; &gt; &gt; &gt; Thanks for replying. Well, the application should be able to write, &gt; download and play a multimedia file from a remote server onto a local &gt; machine running the QNX real time &gt; &gt; operating system. I found out that the multimedia suite is only &gt; commercially available so I need the best alternative for building such an &gt; application &gt; &gt; &gt; &gt; Thanks, &gt; &gt; Seraph &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; &gt; &gt; Development &gt; &gt; http://community.qnx.com/sf/go/post46971 &gt; &gt; &gt; &gt; &gt; &gt; Dan Cardamore &gt; dcardamore@qnx.com &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post46974 &gt; &gt; Seraph Varghese 2010-02-11T22:10:20Z post46974: Re: QNX Multimedia Streaming Application http://community.qnx.com/sf/go/post46974 Hi Seraph, The MM suite can be downloaded from from the community site and can be used as a hobbyist. I recommend reading the license guide here: http://community.qnx.com/sf/projects/multimedia You can download the core and IPP packages from the community site and this can give you http playback of audio and video streams on intel. I'm not sure what platforms, codecs, and stream protocols you need to use. http://community.qnx.com/sf/frs/do/listReleases/projects.multimedia/frs.qnx_aviage_multimedia_core_1_1 http://community.qnx.com/sf/frs/do/listReleases/projects.multimedia/frs.qnx_aviage_multimedia_ipp_video In addition, you're welcome to build the latest version using the source guide: http://community.qnx.com/sf/wiki/do/viewPage/projects.multimedia/wiki/SourceGuide Dan On 2010-02-09, at 2:43 PM, Seraph Varghese wrote: &gt; Hi Dan &gt; &gt; Thanks for replying. Well, the application should be able to write, download and play a multimedia file from a remote server onto a local machine running the QNX real time &gt; operating system. I found out that the multimedia suite is only commercially available so I need the best alternative for building such an application &gt; &gt; Thanks, &gt; Seraph &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post46971 &gt; &gt; Dan Cardamore dcardamore@qnx.com Dan Cardamore 2010-02-09T19:49:45Z post46971: Re: QNX Multimedia Streaming Application http://community.qnx.com/sf/go/post46971 Hi Dan Thanks for replying. Well, the application should be able to write, download and play a multimedia file from a remote server onto a local machine running the QNX real time operating system. I found out that the multimedia suite is only commercially available so I need the best alternative for building such an application Thanks, Seraph Seraph Varghese 2010-02-09T19:43:54Z post46964: Re: QNX Multimedia Streaming Application http://community.qnx.com/sf/go/post46964 Hi Seraph, What kinds of requirements do you have? One tricky thing we have to deal with is licensing which is why our solution is commercial only. Dan On 2010-02-09, at 1:59 PM, Seraph Varghese wrote: &gt; Hi Everyone &gt; &gt; I am an Engineering student building a QNX Multimedia Streaming Application as part of my final year project. Since the QNX Multimedia Suite is only commercially available, could anyone please advise me what the best alternative would be. &gt; &gt; Thanks, &gt; Seraph &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post46963 &gt; &gt; Dan Cardamore dcardamore@qnx.com Dan Cardamore 2010-02-09T19:01:17Z post46963: QNX Multimedia Streaming Application http://community.qnx.com/sf/go/post46963 Hi Everyone I am an Engineering student building a QNX Multimedia Streaming Application as part of my final year project. Since the QNX Multimedia Suite is only commercially available, could anyone please advise me what the best alternative would be. Thanks, Seraph Seraph Varghese 2010-02-09T18:59:50Z post46894: Re: Definition of MME StorageType http://community.qnx.com/sf/go/post46894 On Tue, 9 Feb 2010, Sebastian Kiesel wrote: &gt; Hi all, &gt; &gt; is there a reason why the range within this definition is not continuous (see below)? &gt; &gt; Thanks, &gt; Sebastian &gt; &gt; /* Define storage types */ &gt; #define MME_STORAGETYPE_UNKNOWN (0) &gt; #define MME_STORAGETYPE_AUDIOCD (1) &gt; #define MME_STORAGETYPE_FS (2) &gt; #define MME_STORAGETYPE_DEVB MME_STORAGETYPE_FS &gt; #define MME_STORAGETYPE_DVDAUDIO (3) &gt; #define MME_STORAGETYPE_VCD (4) &gt; #define MME_STORAGETYPE_SVCD (5) &gt; #define MME_STORAGETYPE_DVDVIDEO (6) &gt; #define MME_STORAGETYPE_IPOD (8) &gt; #define MME_STORAGETYPE_KODAKCD (9) &gt; #define MME_STORAGETYPE_PICTURECD (10) &gt; #define MME_STORAGETYPE_A2DP (12) &gt; #define MME_STORAGETYPE_RESERVED0 (13) /* UPNP placeholder, moved to mediafs */ &gt; #define MME_STORAGETYPE_SMB MME_STORAGETYPE_FS &gt; #define MME_STORAGETYPE_FTP (15) &gt; #define MME_STORAGETYPE_HTTP (16) &gt; #define MME_STORAGETYPE_NAVIGATION (17) &gt; #define MME_STORAGETYPE_UPGRADE (18) &gt; #define MME_STORAGETYPE_PLAYSFORSURE (20) &gt; #define MME_STORAGETYPE_UPNP (21) &gt; #define MME_STORAGETYPE_INTERNETSTREAM (22) &gt; #define MME_STORAGETYPE_SND_INPUT (23) Removal of unclear place holders (7 was mediafs, 19 was mediafs_2wire) that didn't map to any one single type. I can't find reference to the missing type mapping to 11. Where at all possible older types (like SMB) were mapped to a new version if they were removed. Peter Peter Martin 2010-02-09T13:09:52Z post46878: Definition of MME StorageType http://community.qnx.com/sf/go/post46878 Hi all, is there a reason why the range within this definition is not continuous (see below)? Thanks, Sebastian /* Define storage types */ #define MME_STORAGETYPE_UNKNOWN (0) #define MME_STORAGETYPE_AUDIOCD (1) #define MME_STORAGETYPE_FS (2) #define MME_STORAGETYPE_DEVB MME_STORAGETYPE_FS #define MME_STORAGETYPE_DVDAUDIO (3) #define MME_STORAGETYPE_VCD (4) #define MME_STORAGETYPE_SVCD (5) #define MME_STORAGETYPE_DVDVIDEO (6) #define MME_STORAGETYPE_IPOD (8) #define MME_STORAGETYPE_KODAKCD (9) #define MME_STORAGETYPE_PICTURECD (10) #define MME_STORAGETYPE_A2DP (12) #define MME_STORAGETYPE_RESERVED0 (13) /* UPNP placeholder, moved to mediafs */ #define MME_STORAGETYPE_SMB MME_STORAGETYPE_FS #define MME_STORAGETYPE_FTP (15) #define MME_STORAGETYPE_HTTP (16) #define MME_STORAGETYPE_NAVIGATION (17) #define MME_STORAGETYPE_UPGRADE (18) #define MME_STORAGETYPE_PLAYSFORSURE (20) #define MME_STORAGETYPE_UPNP (21) #define MME_STORAGETYPE_INTERNETSTREAM (22) #define MME_STORAGETYPE_SND_INPUT (23) Sebastian Kiesel 2010-02-09T09:13:21Z post46764: Re: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post46764 I think a better location to get this answer would be the sqlite.org forums. I think what you're looking for can't be done with sqlite the way it is now. Dan On 2010-02-05, at 2:35 AM, Florian Becher wrote: &gt; Hi Dan, &gt; &gt; thanks for your answer. Is there any chance to get this id, which is shown at a SELECT at the beginning of a row (0001,0002,...)? &gt; &gt; The background is, i SELECT over 3 tables and UNION them. Now i need an identifier which is increasing over all three SELECT statements, to be able to SELECT exactly one result of those 3 UNION SELECTS. Is there a way, to perform such a operation? &gt; &gt; Thanks in advance for your help, &gt; &gt; Florian &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post46621 &gt; &gt; Dan Cardamore dcardamore@qnx.com Dan Cardamore 2010-02-08T12:50:40Z post46738: Re: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post46738 It sounds like you're just looking for the loop counter that qdbc prints when looping through the result rows. It's not a number that's stored in the database, or in the result. The code (in services/qdb/lib/qdb.c:qdb_printmsg()) is: 496 for (row = 0; row &lt; nrows; ++row) { 497 fprintf(fp, "%05d:\t", row); You cannot use that specific number to refer to a row in a table; you can use it to refer to an offset in a query (with something like the OFFSET keyword as Gilles mentioned), but that might not be what you want. (For example, if rows are added/changed/deleted that would modify your result set the offset into that result will change.) Ryan Allen 2010-02-08T02:59:46Z post46737: Re: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post46737 &gt; thanks for your answer. Is there any chance to get this id, which is shown at &gt; a SELECT at the beginning of a row (0001,0002,...)? &gt; &gt; The background is, i SELECT over 3 tables and UNION them. Now i need an &gt; identifier which is increasing over all three SELECT statements, to be able to &gt; SELECT exactly one result of those 3 UNION SELECTS. Is there a way, to &gt; perform such a operation? Hi Florian, Say I wanted the 10th to 15th results from a union of other results. What I would try is: select id from (select ... union ... select ... etc) LIMIT 5 OFFSET 10; (fetch 5 results starting at offset 10) I'm not sure I fully understand what you need to accomplish, I hope this helps. Regards, Gilles Gilles Roy 2010-02-08T02:46:58Z post46621: Re: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post46621 Hi Dan, thanks for your answer. Is there any chance to get this id, which is shown at a SELECT at the beginning of a row (0001,0002,...)? The background is, i SELECT over 3 tables and UNION them. Now i need an identifier which is increasing over all three SELECT statements, to be able to SELECT exactly one result of those 3 UNION SELECTS. Is there a way, to perform such a operation? Thanks in advance for your help, Florian Florian Becher 2010-02-05T07:35:54Z post46592: Re: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post46592 Hi Florian, ROWID should work the same for QDB since it is just being passed back as part of the result as a column. I think ROWID is not the rowid of a result however, I think it is used as the primary key of the table. Dan On 2010-02-04, at 10:30 AM, Florian Becher wrote: &gt; Hi all, &gt; &gt; i am looking for an option to get the row number of a select or sub-selects. I found at the SQLite homepage, that "ROWID", "OID", or "_ROWID_" exists, but it doesn't work for QDB. &gt; &gt; Thanks a lot, &gt; &gt; Florian &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post46546 &gt; &gt; Dan Cardamore dcardamore@qnx.com Dan Cardamore 2010-02-04T20:30:00Z post46546: QDB - how to retrieve row number of result row! http://community.qnx.com/sf/go/post46546 Hi all, i am looking for an option to get the row number of a select or sub-selects. I found at the SQLite homepage, that "ROWID", "OID", or "_ROWID_" exists, but it doesn't work for QDB. Thanks a lot, Florian Florian Becher 2010-02-04T15:30:42Z post46523: Re: MME Startup - Device Autodetection http://community.qnx.com/sf/go/post46523 &gt; if I understood the documentation correctly, I could disable the device &gt; autodetection by setting the parameter &lt;DeviceDetection&gt; within the mme.conf to 'false'. &gt; &gt; Nevertheless the MME still detects all the devices after setting it to 'false' &gt; . &gt; Is there any other parameter which has to be configured? No there should be no other configuration needed. If you start the mme-generic process with -vvvv you should see in the logs all of the configuration values it sets. Look for the DeviceDetection in those logs. Of note, the default start is commented out, so even if you change the enabled to "false" you still have to uncomment the xml element. &gt; Version: QNX Aviage Multimedia Suite 1.2 &gt; &gt; General Questions: &gt; - The autodetection has manally to be enabled only once during the startup? Yes, you call mme_start_device_detection() just once (normally after you have registered for events) &gt; - Is there another mechanism to prevent the loss of events from the type &gt; MME_EVENT_MS_STATECHANGE? The only other thing you could do is once you have connected to the MME and registered for events, you could look at the state of the mediastores table and update against what you thought your current state was. &gt; - Would you recommend to use/not to use the autodetection of the MME? &gt; - Could the client application already read information out of the table &gt; mediastores &gt; without getting a MME_EVENT_MS_STATECHANGE? I think the client application can do this. I suppose if your system is based on a state machine some might find it easier to delay device detection and process all of the events that come in when it is started? Nothing comes to mind that would *require* delayed device detection, all of the info is available in the mediastores table. Regards, Gilles &gt; Background: &gt; In some scenarios the MME could be started earlier than the component reading &gt; /handling the MME events. &gt; &gt; Thanks a lot, &gt; Sebastian &gt; Gilles Roy 2010-02-04T13:31:47Z post46521: MME Startup - Device Autodetection http://community.qnx.com/sf/go/post46521 Hi all, if I understood the documentation correctly, I could disable the device autodetection by setting the parameter &lt;DeviceDetection&gt; within the mme.conf to 'false'. Nevertheless the MME still detects all the devices after setting it to 'false'. Is there any other parameter which has to be configured? Version: QNX Aviage Multimedia Suite 1.2 General Questions: - The autodetection has manally to be enabled only once during the startup? - Is there another mechanism to prevent the loss of events from the type MME_EVENT_MS_STATECHANGE? - Would you recommend to use/not to use the autodetection of the MME? - Could the client application already read information out of the table mediastores without getting a MME_EVENT_MS_STATECHANGE? Background: In some scenarios the MME could be started earlier than the component reading/handling the MME events. Thanks a lot, Sebastian Sebastian Kiesel 2010-02-04T13:07:45Z post45931: Re: charset of mme and qdb http://community.qnx.com/sf/go/post45931 QDB is a 100% utf-8 interface. If content is placed in there that isn't UTF-8 then it is a bug in the client code that put it in there. In this example MME is the client application and it does convert different string encodings into UTF-8. All of the MME's interfaces including the explorer interface are UTF-8 also. Dan On 2010-01-26, at 7:40 AM, Michael Irsiegler wrote: &gt; Thank you for your response. I have another question though: &gt; &gt; Is it guaranteed that text objects in qdb are always in utf-8. For example the media storage device hosts mp3 files that have ID3 tags encoded in UTF-16 or any other charset, Is there a conversion done to utf-8 when the metadata is stored into the database, when the device is synced? &gt; &gt; Regards &gt; Mike &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post45916 &gt; &gt; Dan Cardamore dcardamore@qnx.com Dan Cardamore 2010-01-26T15:52:24Z post45916: Re: charset of mme and qdb http://community.qnx.com/sf/go/post45916 Thank you for your response. I have another question though: Is it guaranteed that text objects in qdb are always in utf-8. For example the media storage device hosts mp3 files that have ID3 tags encoded in UTF-16 or any other charset, Is there a conversion done to utf-8 when the metadata is stored into the database, when the device is synced? Regards Mike Michael Irsiegler 2010-01-26T12:40:13Z post45823: Re: charset of mme and qdb http://community.qnx.com/sf/go/post45823 All applications in QNX are using UTF8 (including mme). Using utf-16 would likely be a large undertaking. On 2010-01-22, at 8:20 AM, "Michael Irsiegler" &lt;community-noreply@qnx.com &gt; wrote: &gt; Hi all, &gt; &gt; I understood that qdb is using UTF-8 as default charset for string &gt; values. &gt; What charset is mme using internally and can the charset be changed? &gt; For example, if I wanted to use UTF-16 system wide as default charset? &gt; I see that the compile flag SQLITE_OMIT_UTF16 is activated in the &gt; sqlite_options.mk file. What does this mean in detail? &gt; &gt; Best regards &gt; Mike &gt; &gt; &gt; &gt; _______________________________________________ &gt; &gt; Development &gt; http://community.qnx.com/sf/go/post45757 &gt; Dan Cardamore 2010-01-23T02:01:01Z post45757: charset of mme and qdb http://community.qnx.com/sf/go/post45757 Hi all, I understood that qdb is using UTF-8 as default charset for string values. What charset is mme using internally and can the charset be changed? For example, if I wanted to use UTF-16 system wide as default charset? I see that the compile flag SQLITE_OMIT_UTF16 is activated in the sqlite_options.mk file. What does this mean in detail? Best regards Mike Michael Irsiegler 2010-01-22T13:13:59Z post45641: Re: Availability of a graphical database schema http://community.qnx.com/sf/go/post45641 We used to have a script that would generate a graphical view of a schema using graphviz but I don't know where it is right now and what state it is in. QDB uses sqlite for its underlying implementation. There are many sqlite graphical tools available. http://www.sqlite.org/cvstrac/wiki?p=ManagementTools Dan Cardamore 2010-01-21T14:38:56Z post45620: Availability of a graphical database schema http://community.qnx.com/sf/go/post45620 Hi all, is there also a graphical database schema for the QDB available? Kind Regards, Sebastian Sebastian Kiesel 2010-01-21T11:42:04Z post45448: Re: Regarding libqdb_cldr http://community.qnx.com/sf/go/post45448 Thanks a lot for this information. I will try both ways, builtin uca and icu later on. Thanks again. Regards Mike Michael Irsiegler 2010-01-19T09:02:08Z post45433: Re: Regarding libqdb_cldr http://community.qnx.com/sf/go/post45433 Sorry, just further information. Maybe you don't care about libqdb_cldr.so at all, you just want ICU support in SQLite to do things like case insensitive matching, etc. You can also do this by building the ICU library for QNX. Then you can download and build an ICU extension from the sqlite.org website: http://www.sqlite.org/cvstrac/dir?d=sqlite/ext/icu Then, check out the sqlite3 source code from the foundry 27 Multimedia project and rebuild ti with "SQLITE_ENABLE_ICU" defined. Regards, Gilles Gilles Roy 2010-01-18T20:00:26Z post45430: Re: Regarding libqdb_cldr http://community.qnx.com/sf/go/post45430 &gt; 1. Where do we find this library? The guide says that it comes along with the &gt; files for language sorting included with the mme release but we could not find &gt; it. It isn't in the product shiplist (I don't know why). This means it won't be in the Aviage release, but here is a link to the foundry 27 release that should still work: http://community.qnx.com/integration/viewvc/viewvc.cgi/trunk/services/qdb/cldr/?root=multimedia&amp;system=exsy1001 If you check out the multimedia source following the documentation in the multimedia project, you should be able to build it. &gt; 2. Is this library based on standard ICU (as found on icu-project.org), if yes &gt; , what version? No. It is based on a standard UCA (Unicode Collation Algorithm). http://www.unicode.org/reports/tr10/#Introduction &gt; 3. Would it be possible to build our own libqdb_cldr using the latest official &gt; version of ICU? It doesn't use ICU. But using the sourcecode on foundry 27 (even though it is based on our trunk, QDB/Sqlite has not has any big changes since Aviage 1.2) you could build libqdb_cldr yourself, or use it as a base for a different collation algorithm. Regards, Gilles Gilles Roy 2010-01-18T19:29:01Z post45404: Regarding libqdb_cldr http://community.qnx.com/sf/go/post45404 Hello all, We would like to enable the mme support for setting the language for sorting data retrieved by SQL select statements. According to the mme config guide a library called libqdb_cldr.so is needed. We have a few questions regarding this library: 1. Where do we find this library? The guide says that it comes along with the files for language sorting included with the mme release but we could not find it. 2. Is this library based on standard ICU (as found on icu-project.org), if yes, what version? 3. Would it be possible to build our own libqdb_cldr using the latest official version of ICU? Thanks in advance. Best regards Mike Michael Irsiegler 2010-01-18T17:11:06Z post43745: RE: Re: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43745 It looks like the MME doesn't know it is a 2wire device (a device that does its own playback, where audio and control have distinct channels). In the avrcpexample.c file, in the function avrcp_getinfo(), make sure the media/device section of the info.xml file is "AVRCP", not "AVRCPEXAMPLE": xmlbuf_add(xp, "device", "AVRCP"); If you take a look in services/mme/mss/mediafs2wire/mediafs2wire.c, in the function mss_mediafs2wire_probe() you will see the "Found device..." log message which is followed by comparing the device to some known 2wire devices, setting the rating appropriately. -- Ryan J. Allen QNX Software Systems Ryan Allen 2009-12-12T12:18:08Z post43743: Re: Re: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43743 Hello Gilles Thank you for your reply. the output of "sloginfo -t" below. I think the fatal err is "Jan 01 00:11:41.682 2 27 0 MME:_attachinput(3321): Could not set input device(/fs/avrcp0) to controlcontext default. errno=5" . But I don't know how resolve it. Do you have any source code that can work on my board(imx35)? Thank you . Regards shawn /////////////////////////////////////////////////////////////////////////////////////// # sloginfo -t Time Sev Major Minor Args Jan 01 00:02:38.079 3 27 0 MME:fs_volume_get(533): Could not find volume name in /media/drive Jan 01 00:02:38.090 3 27 0 MME:fs_volume_get(533): Could not find volume name in /media/drive Jan 01 00:02:38.091 3 27 0 MME:ms_inserted(3546): MSS devb failed getting name for media store with ID 0. Jan 01 00:02:39.261 7 20 1 io-media-generic: open('graphs/trackplayer/mme_metadata') Jan 01 00:02:39.261 7 20 1 io-media-generic/trackplayer: Calling graph create function Jan 01 00:02:39.263 6 20 1 io-media-generic/trackplayer: Created graph instance 'mme_metadata' Jan 01 00:02:39.263 6 20 1 io-media-generic: open( 'graphs/trackplayer/mme_metadata' ): success Jan 01 00:02:39.265 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS Jan 01 00:02:39.265 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0 Jan 01 00:02:39.266 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.267 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.268 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.268 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.269 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.269 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.276 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.277 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.278 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.278 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.279 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.279 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.280 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.280 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.280 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.281 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.281 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.282 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:03:15.026 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:03:15.027 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:03:15.535 5 21 0 run fault pid 327692 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:03:26.276 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:03:26.277 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:03:26.787 5 21 0 run fault pid 335884 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:10:10.403 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:10:10.404 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:10:10.911 5 21 0 run fault pid 344076 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:10:15.934 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:10:15.935 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:10:16.442 5 21 0 run fault pid 352268 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:10:42.986 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:10:42.987 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:10:43.489 5 3 800 io-fs-media(AVRCPEXAMPLE): *** MOUNT *** Jan 01 00:10:43.491 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_getinfo Jan 01 00:10:43.495 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_getattr Jan 01 00:10:43.498 5 3 800 io-fs-media(AVRCPEXAMPLE): Started Monitor Thread Jan 01 00:10:43.505 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.510 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.511 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_readdir Jan 01 00:10:43.517 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.518 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.525 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.526 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.530 5 27 0 MME:mss_mediafs_probe(68): Found device 'AVRCPEXAMPLE' for path '/fs/avrcp0'. Jan 01 00:10:43.531 5 27 0 MME:mss_mediafs_probe(82): Returning rating of 0. Jan 01 00:10:43.532 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.534 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.538 5 27 0 MME:mss_mediafs2wire_probe(70): Found device 'AVRCPEXAMPLE' for path '/fs/avrcp0'. Jan 01 00:10:43.538 5 27 0 MME:mss_mediafs2wire_probe(111): Returning rating of 0. Jan 01 00:10:43.540 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.541 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.546 3 27 0 MME:fs_volume_get(533): Could not find volume name in /fs/avrcp0 Jan 01 00:10:43.549 3 27 0 MME:fs_volume_get(533): Could not find volume name in /fs/avrcp0 Jan 01 00:10:43.549 3 27 0 MME:ms_inserted(3546): MSS devb failed getting name for media store with ID 0. Jan 01 00:11:41.668 7 20 1 io-media-generic: open('graphs/trackplayer/default') Jan 01 00:11:41.668 7 20 1 io-media-generic/trackplayer: Calling graph create function Jan 01 00:11:41.668 6 20 1 io-media-generic/trackplayer: Created graph instance 'default' Jan 01 00:11:41.669 6 20 1 io-media-generic: open( 'graphs/trackplayer/default' ): success Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0 Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0 Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETTRANSITION Jan 01 00:11:41.670 7 20 1 io-media-generic/trackplayer: Dcmd SETTRANSITION returning 0 Jan 01 00:11:41.670 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd CAPABILITIES Jan 01 00:11:41.670 7 20 1 io-media-generic/trackplayer: Dcmd CAPABILITIES returning 0 Jan 01 00:11:41.676 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHOUTPUT Jan 01 00:11:41.677 5 20 1 io-media-generic/mmf: writer hint snd:* found Jan 01 00:11:41.677 6 20 1 io-media-generic/mmf: URL 'snd:/dev/snd/pcmC0D1p' matches pattern 'snd:*' Jan 01 00:11:41.677 7 20 1 io-media-generic/trackplayer: Dcmd ATTACHOUTPUT returning 0 Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETVOLUME Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Dcmd SETVOLUME returning 0 Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETSPEED Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Dcmd SETSPEED returning 0 Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0 Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0 Jan 01 00:11:41.681 6 20 1 io-media-generic/trackplayer: dcmd SETDEVICE unsupported for this graph Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETERROR Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Dcmd GETERROR returning 0 Jan 01 00:11:41.682 2 27 0 MME:_attachinput(3321): Could not set input device(/fs/avrcp0) to controlcontext default. errno=5 Jan 01 00:11:41.682 5 27 0 MME:_mapiomerror(5400): Unhandled iom error 65539 Jan 01 00:11:41.682 2 27 0 MME:_play(2803): Could not attach file /fs/avrcp0/// Jan 01 00:11:41.682 5 27 0 MME:trk_getoffset(831): No more tracks to play. Jan 01 00:11:41.682 5 27 0 MME:_playuntilok(5130): No files to play Jan 01 00:11:41.682 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS Jan 01 00:11:41.682 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0 Jan 01 00:11:41.682 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd STOP Jan 01 00:11:41.684 7 20 1 io-media-generic/trackplayer: Dcmd STOP returning 0 Jan 01 00:11:41.684 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS Jan 01 00:11:41.684 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0 Jan 01 00:11:41.690 2 27 0 MME:_setgenericvalue(851): Send Error for request=2, value=0. errno 61 Jan 01 00:12:10.961 3 27 0 MME:_msgresumemsid(4688): Failed to find active trksession for msid '2' (qdb error: ) Jan 01 00:12:10.962 2 27 0 MME:_setgenericvalue(851): Send Error for request=13, value=2. errno 61 //////////////////////////////////////////////////////////////////////////////////////////////////// 2009-12-12 wxiao 发件人: Gilles Roy 发送时间: 2009-12-12 00:04:25 收件人: development-multimedia 抄送: 主题: Re: problem about Integrating Bluetooth audio devices into the MME &gt; thank you very much. I get into a dead loop in 'mediafs_mount' as you said. Great! &gt; Now,I face another problem. MME can not send right cmd to &gt; &gt; io-fs-media(avrcpexample). &gt; &gt; &gt; And my io-fs-media(avrcpexample) has not recerve any cmd from MME. &gt; &gt; &gt; Is any problem here ? thank you for help. Generally, when you have issues related to playback, you should start io-media-generic with -DD. Then before you reproduce your problem, on the command line you can do: mmecli set_debug 4 0 sloginfo -c &gt; /dev/null Now, reproduce your problem and post the output of "sloginfo -t". As well, you could try: mmecli play_resume_msid 2 Regards, Gilles _______________________________________________ Development http://community.qnx.com/sf/go/post43663 xiao wei 2009-12-12T08:45:46Z post43742: Re: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43742 Hello Gilles the output of "sloginfo -t" below. I think the fatal err is "Jan 01 00:11:41.682 2 27 0 MME:_attachinput(3321): Could not set input device(/fs/avrcp0) to controlcontext default. errno=5" . But I don't know how resolve it. Do you have any source code that can work on my board(imx35)? Thank you . Regards shawn /////////////////////////////////////////////////////////////////////////////////////// # sloginfo -t Time Sev Major Minor Args Jan 01 00:02:38.079 3 27 0 MME:fs_volume_get(533): Could not find volume name in /media/drive Jan 01 00:02:38.090 3 27 0 MME:fs_volume_get(533): Could not find volume name in /media/drive Jan 01 00:02:38.091 3 27 0 MME:ms_inserted(3546): MSS devb failed getting name for media store with ID 0. Jan 01 00:02:39.261 7 20 1 io-media-generic: open('graphs/trackplayer/mme_metadata') Jan 01 00:02:39.261 7 20 1 io-media-generic/trackplayer: Calling graph create function Jan 01 00:02:39.263 6 20 1 io-media-generic/trackplayer: Created graph instance 'mme_metadata' Jan 01 00:02:39.263 6 20 1 io-media-generic: open( 'graphs/trackplayer/mme_metadata' ): success Jan 01 00:02:39.265 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS Jan 01 00:02:39.265 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0 Jan 01 00:02:39.266 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.267 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.268 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.268 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.269 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.269 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.276 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.277 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.278 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.278 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.279 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.279 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.280 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.280 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.280 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.281 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:02:39.281 3 20 1 io-media-generic/trackplayer: received invalid dcmd (C0300F12) Jan 01 00:02:39.282 2 27 0 MME:getFileMetadata(82): Failed iom_get_track_info, errno = 22 Jan 01 00:03:15.026 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:03:15.027 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:03:15.535 5 21 0 run fault pid 327692 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:03:26.276 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:03:26.277 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:03:26.787 5 21 0 run fault pid 335884 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:10:10.403 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:10:10.404 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:10:10.911 5 21 0 run fault pid 344076 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:10:15.934 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:10:15.935 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:10:16.442 5 21 0 run fault pid 352268 tid 2 signal 11 code 1 ip 0x780118b8 io-fs-media Jan 01 00:10:42.986 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_mount Jan 01 00:10:42.987 2 3 800 io-fs-media(AVRCPEXAMPLE): start Jan 01 00:10:43.489 5 3 800 io-fs-media(AVRCPEXAMPLE): *** MOUNT *** Jan 01 00:10:43.491 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_getinfo Jan 01 00:10:43.495 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_getattr Jan 01 00:10:43.498 5 3 800 io-fs-media(AVRCPEXAMPLE): Started Monitor Thread Jan 01 00:10:43.505 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.510 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.511 2 3 800 io-fs-media(AVRCPEXAMPLE): avrcp_readdir Jan 01 00:10:43.517 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.518 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.525 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.526 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.530 5 27 0 MME:mss_mediafs_probe(68): Found device 'AVRCPEXAMPLE' for path '/fs/avrcp0'. Jan 01 00:10:43.531 5 27 0 MME:mss_mediafs_probe(82): Returning rating of 0. Jan 01 00:10:43.532 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.534 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.538 5 27 0 MME:mss_mediafs2wire_probe(70): Found device 'AVRCPEXAMPLE' for path '/fs/avrcp0'. Jan 01 00:10:43.538 5 27 0 MME:mss_mediafs2wire_probe(111): Returning rating of 0. Jan 01 00:10:43.540 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.541 2 3 800 io-fs-media(AVRCPEXAMPLE): _RESMGR_DEFAULT Jan 01 00:10:43.546 3 27 0 MME:fs_volume_get(533): Could not find volume name in /fs/avrcp0 Jan 01 00:10:43.549 3 27 0 MME:fs_volume_get(533): Could not find volume name in /fs/avrcp0 Jan 01 00:10:43.549 3 27 0 MME:ms_inserted(3546): MSS devb failed getting name for media store with ID 0. Jan 01 00:11:41.668 7 20 1 io-media-generic: open('graphs/trackplayer/default') Jan 01 00:11:41.668 7 20 1 io-media-generic/trackplayer: Calling graph create function Jan 01 00:11:41.668 6 20 1 io-media-generic/trackplayer: Created graph instance 'default' Jan 01 00:11:41.669 6 20 1 io-media-generic: open( 'graphs/trackplayer/default' ): success Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0 Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0 Jan 01 00:11:41.669 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETTRANSITION Jan 01 00:11:41.670 7 20 1 io-media-generic/trackplayer: Dcmd SETTRANSITION returning 0 Jan 01 00:11:41.670 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd CAPABILITIES Jan 01 00:11:41.670 7 20 1 io-media-generic/trackplayer: Dcmd CAPABILITIES returning 0 Jan 01 00:11:41.676 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHOUTPUT Jan 01 00:11:41.677 5 20 1 io-media-generic/mmf: writer hint snd:* found Jan 01 00:11:41.677 6 20 1 io-media-generic/mmf: URL 'snd:/dev/snd/pcmC0D1p' matches pattern 'snd:*' Jan 01 00:11:41.677 7 20 1 io-media-generic/trackplayer: Dcmd ATTACHOUTPUT returning 0 Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETVOLUME Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Dcmd SETVOLUME returning 0 Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETSPEED Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Dcmd SETSPEED returning 0 Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS Jan 01 00:11:41.680 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0 Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0 Jan 01 00:11:41.681 6 20 1 io-media-generic/trackplayer: dcmd SETDEVICE unsupported for this graph Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETERROR Jan 01 00:11:41.681 7 20 1 io-media-generic/trackplayer: Dcmd GETERROR returning 0 Jan 01 00:11:41.682 2 27 0 MME:_attachinput(3321): Could not set input device(/fs/avrcp0) to controlcontext default. errno=5 Jan 01 00:11:41.682 5 27 0 MME:_mapiomerror(5400): Unhandled iom error 65539 Jan 01 00:11:41.682 2 27 0 MME:_play(2803): Could not attach file /fs/avrcp0/// Jan 01 00:11:41.682 5 27 0 MME:trk_getoffset(831): No more tracks to play. Jan 01 00:11:41.682 5 27 0 MME:_playuntilok(5130): No files to play Jan 01 00:11:41.682 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS Jan 01 00:11:41.682 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0 Jan 01 00:11:41.682 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd STOP Jan 01 00:11:41.684 7 20 1 io-media-generic/trackplayer: Dcmd STOP returning 0 Jan 01 00:11:41.684 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS Jan 01 00:11:41.684 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0 Jan 01 00:11:41.690 2 27 0 MME:_setgenericvalue(851): Send Error for request=2, value=0. errno 61 Jan 01 00:12:10.961 3 27 0 MME:_msgresumemsid(4688): Failed to find active trksession for msid '2' (qdb error: ) Jan 01 00:12:10.962 2 27 0 MME:_setgenericvalue(851): Send Error for request=13, value=2. errno 61 //////////////////////////////////////////////////////////////////////////////////////////////////// xiao wei 2009-12-12T08:39:26Z post43663: Re: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43663 &gt; thank you very much. I get into a dead loop in 'mediafs_mount' as you said. Great! &gt; Now,I face another problem. MME can not send right cmd to &gt; &gt; io-fs-media(avrcpexample). &gt; &gt; &gt; And my io-fs-media(avrcpexample) has not recerve any cmd from MME. &gt; &gt; &gt; Is any problem here ? thank you for help. Generally, when you have issues related to playback, you should start io-media-generic with -DD. Then before you reproduce your problem, on the command line you can do: mmecli set_debug 4 0 sloginfo -c &gt; /dev/null Now, reproduce your problem and post the output of "sloginfo -t". As well, you could try: mmecli play_resume_msid 2 Regards, Gilles Gilles Roy 2009-12-11T16:11:37Z post43607: Integrating Bluetooth audio devices into the MME-help http://community.qnx.com/sf/go/post43607 hello all: I face a problem when Integrating Bluetooth audio devices into the MME .MME can not send right cmd to io-fs-media(avrcpexample). ////////////////////////////////////////////////////////// when I do : 'qdbc -d mme "select msid,slotid,storage_type, mountpath from mediastores" ' result is: Rows: 2 Cols: 4 Names: +msid+slotid+storage_type+mountpath+ 00000: |1|1|2|/media/drive| 00001: |2|11|2|/fs/avrcp0| ********************************************** when I do : 'qdbc -d mme "select fid,msid,folderid,ftype,filename, title from library where msid=2" ' result is: Rows: 1 Cols: 6 Names: +fid+msid+folderid+ftype+filename+title+ 00000: |11|2|3|5||Bluetooth| *********************************************** when I do : 'mmecli newtrksession l "Select fid from library where msid=2" ' result is: (rc=0,errno=0) new trksessionid=1. Execution Time=0.021 ************************************************* when I do : 'mmecli settrksession 1' result is: (rc=0,errno=0) Set trksessionid=1. Execution Time=0.052 ************************************************** when I do : 'mmecli play' result is: (rc=-1,errno=61) Playing from tracksession fid/bid = 0. Execution Time=0.067 ****************************************************** And my io-fs-media(avrcpexample) has not recerve any cmd from MME. When I run 'io-fs-media -davrcpexample,verbose=10' I can receive some devctl messages below , but I don't think these cmd is right. --devctl(0,0x41000212) --devctl(0,0xc3240c36) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x40a8020d) --devctl(0,0x41000c0b) /////////////////////////////////////////////////////////////////////////////// Is any problem here ? thank you for help. shawn xiao wei 2009-12-11T10:12:13Z post43605: Re: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43605 hi thank you very much. I get into a dead loop in 'mediafs_mount' as you said. Now,I face another problem. MME can not send right cmd to io-fs-media(avrcpexample). ////////////////////////////////////////////////////////// when I do : 'qdbc -d mme "select msid,slotid,storage_type, mountpath from mediastores" ' result is: Rows: 2 Cols: 4 Names: +msid+slotid+storage_type+mountpath+ 00000: |1|1|2|/media/drive| 00001: |2|11|2|/fs/avrcp0| ********************************************** when I do : 'qdbc -d mme "select fid,msid,folderid,ftype,filename, title from library where msid=2" ' result is: Rows: 1 Cols: 6 Names: +fid+msid+folderid+ftype+filename+title+ 00000: |11|2|3|5||Bluetooth| *********************************************** when I do : 'mmecli newtrksession l "Select fid from library where msid=2" ' result is: (rc=0,errno=0) new trksessionid=1. Execution Time=0.021 ************************************************* when I do : 'mmecli settrksession 1' result is: (rc=0,errno=0) Set trksessionid=1. Execution Time=0.052 ************************************************** when I do : 'mmecli play' result is: (rc=-1,errno=61) Playing from tracksession fid/bid = 0. Execution Time=0.067 ****************************************************** And my io-fs-media(avrcpexample) has not recerve any cmd from MME. When I run 'io-fs-media -davrcpexample,verbose=10' I can receive some devctl messages below , but I don't these cmd is right. --devctl(0,0x41000212) --devctl(0,0xc3240c36) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x318) --devctl(0,0x40a8020d) --devctl(0,0x41000c0b) /////////////////////////////////////////////////////////////////////////////// Is any problem here ? thank you for help. shawn xiao wei 2009-12-11T10:07:34Z post43424: Re: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43424 &gt; avrcpexample. But when call the function "device_init(dep)" my broad will &gt; down. I think that io-fs internally sends a pulse back to itself at priority 12 and then calls your drivers mount function. You could try using gdb or putting printfs() in there to see how far it goes. Could it be spinning in a loop (i.e. trying to parse options or something?) at priority 12? That would make the other software on the board running at priority 10 look unresponsive. You could also raise the priority of your shell so that it doesn't lock up so you can better debug the issue (i.e. see the output of pidin) Regards, Gilles Gilles Roy 2009-12-09T15:40:45Z post43410: problem about Integrating Bluetooth audio devices into the MME http://community.qnx.com/sf/go/post43410 hello all I want Integrating Bluetooth audio devices into the MME, so i use the avrcpexample. But when call the function "device_init(dep)" my broad will down. I have no idea what happend , because my broad has no reaction after that. The only way restart the broad is cuting power. Can anybody help me? thanks very much. shawn xiao wei 2009-12-09T10:34:06Z post43265: snd_pcm_open_preferred and SND_PCM_OPEN_NONBLOCK http://community.qnx.com/sf/go/post43265 Hai, I am writing an application with libasound.so on beagleboard-qnx using the plugin type api's of snd_pcm. But when i tried to use the api snd_pcm_open_preferred with SND_PCM_OPEN_NONBLOCK or'ed with SND_PCM_OPEN_PLAYBACK i am getting some unusual behavier. Is it correctly implemented. ie: Almost all the threads in the system and in the application is stopped and audio is executed. Priority is also enabled in my process. But i thinks something is going wrong. Any idea? When i tried without SND_PCM_OPEN_NONBLOCK, i got it working fine, but continuous write onto the device is causing problem in my application. Algorithm: write the buffer; check whether underrun/overrun happend prepare the device again. play the remaining buffer. The above steps are happening in a thread. So these steps, when executed multiple times ( i don't know when the voice output to the actual device will get over,because there is no callback like windows waveout functionality), my application stops sending output. Is there any problem of writing a buffer into the device when it is still playing the buffer. I have no clue from application side. Please help? Thanks Susmith susmith mr 2009-12-06T20:46:44Z post43155: Re: RE: How to setup MME for h264 videos? http://community.qnx.com/sf/go/post43155 The product release of the Aviage MM 1.2 codec engine only supports audio. We have video working on the beagle and this is available through QNX CAR currently. Dan Cardamore 2009-12-04T01:15:51Z post43104: RE: How to setup MME for h264 videos? http://community.qnx.com/sf/go/post43104 video playback is only present of x86 at the moment. Peter -----Original Message----- From: Sebastian Kiesel [mailto:community-noreply@qnx.com] Sent: Thu 12/3/2009 8:37 AM To: development-multimedia Subject: How to setup MME for h264 videos? Hi all, would it be possible to setup the MME for playback of h264 video files using the TI OMAP CodecEngine 1.2.0 and the Aviage Multimedia Suite 1.2? Best Regards, Sebastian _______________________________________________ Development http://community.qnx.com/sf/go/post43087 Peter Martin 2009-12-03T14:53:09Z post43087: How to setup MME for h264 videos? http://community.qnx.com/sf/go/post43087 Hi all, would it be possible to setup the MME for playback of h264 video files using the TI OMAP CodecEngine 1.2.0 and the Aviage Multimedia Suite 1.2? Best Regards, Sebastian Sebastian Kiesel 2009-12-03T13:37:25Z post40896: Re: Getting a fid into the tracksession multiple times http://community.qnx.com/sf/go/post40896 Thanks, we'll look into it - at first glance it should do the trick. Thomas Thomas Junge 2009-10-28T14:27:43Z post40874: Re: Getting a fid into the tracksession multiple times http://community.qnx.com/sf/go/post40874 &gt; -&gt; How to have a track in a tracksession multiple times while still allowing &gt; the customer to exactly select one occurance without picking the wrong offset &gt; within the playback order? Since mme_play only takes a fid and does not allow &gt; to alternatively specify a track's sequential id we currently don't see a way &gt; how to accomplish this. Did you look at mme_play_offset()? With this you can specify an offset between 0 and N-1 where N is the number of tracks in your tracksession. Regards, Gilles Gilles Roy 2009-10-28T13:19:51Z post40872: Getting a fid into the tracksession multiple times http://community.qnx.com/sf/go/post40872 Hi all, we just stumbled over another issue: We're planning to redesign our current HMI such that in a browser view, it would allow the user to select individual entries or complete folder hierarchies for playback. This includes playlists which are traditionally represented as folders as well. It shall be permissible for the user to select a track multiple times, say he has a playlist "80s" and another one "Peter Gabriel" which he both selects - in both you find the song "Sledgehammer". When bringing this selection over into a flat tracksession (to be visualized as such), the intention is to have the track in there twice exactly as the user specified - otherwise it would be indeterministic for him which one the system removes. -&gt; How to have a track in a tracksession multiple times while still allowing the customer to exactly select one occurance without picking the wrong offset within the playback order? Since mme_play only takes a fid and does not allow to alternatively specify a track's sequential id we currently don't see a way how to accomplish this. (as discussed before we're currently planning on sticking with library mode) Thanks, Thomas Thomas Junge 2009-10-28T13:12:54Z post40869: Re: How to wait for mme events in code? http://community.qnx.com/sf/go/post40869 Thanks Gilles, your proposal of using MsgReceivePulse to wait works. @Dan: I already had that part correct, it was just how to make it behave blocking rather than a busy-loop :-) Cheers, Thomas Thomas Junge 2009-10-28T12:36:49Z post40834: Re: How to wait for mme events in code? http://community.qnx.com/sf/go/post40834 Take a look at the mme_register_for_events( ) function which allows you to get notified when one or more events have been queued for you to recieve. You can also look at mmecli.c for an example. Dan Cardamore 2009-10-27T19:29:52Z post40825: Re: How to wait for mme events in code? http://community.qnx.com/sf/go/post40825 &gt; I'm wondering how to best wait for MME events in my code using mme_get_event. &gt; Is there a way to block until events are delivered or must I set up a timer as &gt; outlined in the MME Dev Guide in ch. 2? In the latter case, how to identify a &gt; suitable interval at which to trigger? If you call mme_get_event() and there is no event waiting, you get a false event back with type MME_EVENT_NONE. You can't just block on the call. The timer example is misleading, I don't think it is needed. If you talk about blocking, then you probably have a dedicated thread for event processing. In this case you can setup an event (say a pulse) and then register that event with the MME. Then the thread can just enter a loop where it call mme_get_event() until MME_EVENT_NONE is returned, then the thread waits in MsgReceivePulse until it gets a pulse from the MME. Note that the thread should have a dedicated mme connection since you can't shared handle mme_connect() returns among threads. Or rather, you can share it, but you can't have two threads call into the MME at once using the same mme handle. Regards, Gilles Gilles Roy 2009-10-27T18:10:34Z post40822: How to wait for mme events in code? http://community.qnx.com/sf/go/post40822 Hi all, I'm wondering how to best wait for MME events in my code using mme_get_event. Is there a way to block until events are delivered or must I set up a timer as outlined in the MME Dev Guide in ch. 2? In the latter case, how to identify a suitable interval at which to trigger? Best regards, Thomas Thomas Junge 2009-10-27T17:54:20Z post36365: Re: FF/RW halt mme http://community.qnx.com/sf/go/post36365 What platform are you running on? Maybe you should also start io-media with -DD options and post the full sloginfo (i.e. without -m27). Regards, Gilles Gilles Roy 2009-08-20T13:06:30Z post36355: Re: FF/RW halt mme http://community.qnx.com/sf/go/post36355 Hmmm. Here is a bit more infor. I think when I pressed FF or REWIND, the io-media failed to start a DspStatusInfo thread, which it looks like waiting for the status from DSP to say buffer level is low. Since the DspStatusInfo never starts, therefore, the io-media ReaderTask just waits: with NB Status is EOF waiting for buffer to empty out. Help..... I have no clue how to fix it... Jasmine Fong 2009-08-20T04:17:11Z post36350: Re: FF/RW halt mme http://community.qnx.com/sf/go/post36350 Thanks for you reply. A track session was created and set correctly. In the log I took following your instruction, I have played 7 songs, and on track 8 with offset 7 is where I pressed the FF button and released it. After the song is complete. Time update continues, and mme didn't advance to next song. I can see io-media didn't give EOF like it used to. Here is the partial log. an 01 05:24:47.703 5 27 0 MME:_checkiomevents(967): io-media FINISHED received. Jan 01 05:24:47.704 5 27 0 MME:handle_iom_ev_finished(735): Received IOM_EV_FINISHED but expected IOM_E V_TRACKCHANGE. Jan 01 05:24:47.807 5 27 0 MME:ntfy_log_event(601): MME_EVENT_TRACKCHANGE(actual=28,req=28,offset=5) Jan 01 05:24:47.808 5 27 0 MME:ntfy_log_event(842): MME_EVENT_NOWPLAYING_METADATA() Jan 01 05:24:47.808 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 4, state 1, speed 1000 Jan 01 05:24:47.852 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 4, state 0, speed 1000 Jan 01 05:24:47.855 5 27 0 MME:_checkiomevents(996): io-media METADATA received. Jan 01 05:24:47.856 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 5, state 1, speed 1000 Jan 01 05:24:47.857 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 5, state 4, speed 1000 Jan 01 05:29:38.899 5 27 0 MME:_checkiomevents(963): io-media EOF received. Jan 01 05:29:38.899 5 27 0 MME:_queuenexttrack(5783): _queuenexttrack offset 6 Jan 01 05:29:39.037 5 27 0 MME:_attachinput(3566): Attached input url (/fs/usb0//MyMusic/BuRenBaYaEr//0 7.蓝色的蒙古高原.mp3) Jan 01 05:29:39.043 5 27 0 MME:_checkiomevents(967): io-media FINISHED received. Jan 01 05:29:39.044 5 27 0 MME:handle_iom_ev_finished(735): Received IOM_EV_FINISHED but expected IOM_E V_TRACKCHANGE. Jan 01 05:29:39.111 5 27 0 MME:ntfy_log_event(601): MME_EVENT_TRACKCHANGE(actual=29,req=29,offset=6) Jan 01 05:29:39.111 5 27 0 MME:ntfy_log_event(842): MME_EVENT_NOWPLAYING_METADATA() Jan 01 05:29:39.112 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 5, state 1, speed 1000 Jan 01 05:29:39.181 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 5, state 0, speed 1000 Jan 01 05:29:39.185 5 27 0 MME:_checkiomevents(996): io-media METADATA received. Jan 01 05:29:39.185 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 6, state 1, speed 1000 Jan 01 05:29:39.187 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 6, state 3, speed 1000 Jan 01 05:29:39.187 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 6, state 4, speed 1000 Jan 01 05:33:29.341 5 27 0 MME:_checkiomevents(963): io-media EOF received. Jan 01 05:33:29.341 5 27 0 MME:_queuenexttrack(5783): _queuenexttrack offset 7 Jan 01 05:33:29.478 5 27 0 MME:_attachinput(3566): Attached input url (/fs/usb0//MyMusic/BuRenBaYaEr//0 8.母亲.mp3) Jan 01 05:33:29.491 5 27 0 MME:_checkiomevents(967): io-media FINISHED received. Jan 01 05:33:29.495 5 27 0 MME:handle_iom_ev_finished(735): Received IOM_EV_FINISHED but expected IOM_E V_TRACKCHANGE. Jan 01 05:33:29.547 5 27 0 MME:ntfy_log_event(601): MME_EVENT_TRACKCHANGE(actual=30,req=30,offset=7) Jan 01 05:33:29.547 5 27 0 MME:ntfy_log_event(842): MME_EVENT_NOWPLAYING_METADATA() Jan 01 05:33:29.547 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 6, state 1, speed 1000 Jan 01 05:33:29.617 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 6, state 0, speed 1000 Jan 01 05:33:29.622 5 27 0 MME:_checkiomevents(996): io-media METADATA received. Jan 01 05:33:29.625 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 1, speed 1000 Jan 01 05:33:29.627 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 3, speed 1000 Jan 01 05:33:29.629 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 4, speed 1000 Jan 01 05:36:05.484 5 27 0 MME:io_handle_msg(122): RCV -&gt; MME_IOMSG_TYPE_SETSPEED: "Speed=5000" Jan 01 05:36:05.600 5 27 0 MME:_msgsetspeed(3811): Setting speed to 5000 Jan 01 05:36:05.634 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 3, speed 5000 Jan 01 05:36:05.650 5 27 0 MME:ntfy_log_event(610): MME_EVENT_PLAYSTATE(playstate=4,speed=5000) Jan 01 05:36:05.652 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 4, speed 5000 Jan 01 05:36:07.683 5 27 0 MME:io_handle_msg(122): RCV -&gt; MME_IOMSG_TYPE_SETSPEED: "Speed=1000" Jan 01 05:36:07.787 5 27 0 MME:_msgsetspeed(3811): Setting speed to 1000 Jan 01 05:36:07.787 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 3, speed 1000 Jan 01 05:36:07.787 5 27 0 MME:ntfy_log_event(610): MME_EVENT_PLAYSTATE(playstate=2,speed=1000) Jan 01 05:36:07.854 5 27 0 MME:_checkiomevents(952): io-media STATUS: id 7, state 4, speed 1000 Jasmine Fong 2009-08-20T03:00:39Z post36341: Re: FF/RW halt mme http://community.qnx.com/sf/go/post36341 Hi Jasmine, Can you do the following on the command line: mmecli set_debug 4 0 sloginfo -c &gt; /dev/null Now reproduce the problem. Post the result of: sloginfo -t -m27 With the resulting logs we will be able to help you solve your issue. There isn't any configuration setting that would cause the MME to actually stop. If you let the MME play the song until the end, does the MME play the next song automatically (i.e. if you don't do a FF at all, the next song plays?). Regards, Gilles Gilles Roy 2009-08-20T00:12:55Z post36332: FF/RW halt mme http://community.qnx.com/sf/go/post36332 Hello, I have a simple question. As long as our application mme_play_set_speed(5000), and mme stops playing next track, even though the FF sounded fine, and after release the FF button, our application set mme_play_set_speed(1000) correctly as well. Is there anything obviously wrong with the way we have configure the mme? Jasmine Fong 2009-08-19T21:47:53Z post35951: snd_pcm_open() core dumps http://community.qnx.com/sf/go/post35951 Hi all, I am looking at a problem where my debugger doesnt seem to help. My target has a sound card that has to be shared by 2 applications. Hence, I am trying to open/close my DSP pcm channel using libasound calls. On spawning my app, I can successfully play audio tracks. Now, I stop playing the track, flush the audio and close the channel using XXXX() call. When I try to open the channel again I end up in a core dump. It happens when my fn() calls the snd_pcm_open(). The arguments do not seem to be corrupt. When can such a situation arise? Praveen Kumar(deleted) 2009-08-13T19:04:04Z post31497: Re: URB states wrong. http://community.qnx.com/sf/go/post31497 Hi Yin, I'd recommend asking this question in the BSP and Drivers forum. You can find that project here: http://community.qnx.com/sf/projects/bsp Dan Cardamore 2009-06-11T15:39:25Z post31460: URB states wrong. http://community.qnx.com/sf/go/post31460 I am writing a QNX USB driver program. USB device is inserted into the PC. Device is detected by my driver. Now, I want to get the audio data from device by urb. firstly, I must check the status of the urb. I used the function: usbd_urb_status(urb, &amp;ustatus, &amp;receive_len) Parameter ustatus is stored the urb's status. Then I did what I wrote under: ① check the value of ustatus, ustatus: USBD_STATUS_CMP_ERR(The operation is complete, but an error occurred) ② check the returned value of the usbd_urb_status(),returned value is EIO(I/O error) So, my question is : what is the reason of EIO occurred PS: I think the data transfer got some error occurred, but I don't know what wrong with the data transfer. Thanks for your suggestion!! Yin Xingmin 2009-06-11T09:11:31Z post28778: Re: shared library on QNX http://community.qnx.com/sf/go/post28778 Hi Arif, This forum is for multimedia topics. I think you'll find the best answers in the Core OS forums: http://community.qnx.com/sf/projects/core_os Dan Cardamore 2009-05-06T12:31:42Z post28766: shared library on QNX http://community.qnx.com/sf/go/post28766 Hi, I'm develop shared library for Linux, AIX and QNX. there is no problem for Linux and AIX, but in QNX, if I execute a simple application which -lwiththislibrary, it's always segmentation violation (core dumped) occurs. for note: this shared library must to linked with an static library, static and shared library are ready to compile in every OS. I am use QNX 6.2.1 sorry for my English :)) Arif Budiono 2009-05-06T08:59:47Z post26334: Re: Memory allocation with mme_getphoto() http://community.qnx.com/sf/go/post26334 Foundry is a site where we develop our product openly. For support of released product you should still be going through the normal QNX support channels such as standard support, or priority support. There aren't any plans currently to put old branches on foundry27. If you plan to upgrade to 1.2 in the near future, then you can use the 20.14 release as a preview of what is to come on May 21st. Dan Cardamore 2009-04-08T12:29:43Z post26328: Re: Memory allocation with mme_getphoto() http://community.qnx.com/sf/go/post26328 Dan Cardamore wrote: &gt; In 1.1 the art from MP3 files is fetched directly with MMF since the &gt; MME is linked against MMF for just artwork. This means you would &gt; need to look through the top layer of the MME (devctl.c and photo.c) &gt; to trace if there are leaks there. Failing that my guess is that the &gt; issue is in MMF, in which case you may want to try with different &gt; types of container formats to see if it is an MP3 or MPEG4 issue for &gt; example. We've seen the problem on repositories with just aac files as well as on mixed repositories with aac, wma, mp3 and wav files. Part of the problem is that I have _no_ album art and the memory usage is shooting up just because of the API call being made. Is the release product tagged in the repository so that I could go back and look at the code that is close to what I'm using to see if I can help you guys narrow this down? As far as I can tell the project was created post 1.1 release and doesn't contain the 1.1 code as it was for the release. Otherwise, I guess this will have to go the route of priority support to get a patch made for 1.1 since this additional memory allocation will quickly overflow our configuration. I'll also take this opportunity to comment that the new history/sync mechanism is kind of gross. Every single revision log looks like: Original-Revision: r216491 Original-Date: 2009-03-25T13:23:45.320812Z Original-Author: groy@qnx.com Original-LogMsg: PR:64241 CI:dcardamore - Rename this file Ugh ... &gt; The next release that we're working towards is 1.2. mme_getphoto( ) &gt; replaced with a much more robust image framework that offers the &gt; following features: * Metatadata for images. Find out how many &gt; images there are and other details such as their size and dimensions. &gt; * load images on demand. mme_getphoto( ) could only load the first &gt; image, 1.2 can load any image in a file that was looked up previously &gt; * large image support. 1.1 only supported images smaller than 64kb &gt; * image profiles and conversion so that you can have thumbnails &gt; created, or have all your images in JPEG format. Configurable and &gt; built on top of QNX's libimg library * image caching so that &gt; subsequent lookups don't have to go back to the device or parse the &gt; image While the head branch is interesting, I need to work with released product =;-( I'm also slightly concerned that version 1.2 (a minor version change) would actually drop a public API. Am I mis-understanding what you are saying? From what I see in the repository, there is no cover function for the mme_getphoto() client call, though there is still an (unused?) header in main.h indicating that there should be a server side call. Thanks, Thomas Thomas Fletcher 2009-04-08T11:41:30Z post26135: Re: Memory allocation with mme_getphoto() http://community.qnx.com/sf/go/post26135 In 1.1 the art from MP3 files is fetched directly with MMF since the MME is linked against MMF for just artwork. This means you would need to look through the top layer of the MME (devctl.c and photo.c) to trace if there are leaks there. Failing that my guess is that the issue is in MMF, in which case you may want to try with different types of container formats to see if it is an MP3 or MPEG4 issue for example. The next release that we're working towards is 1.2. mme_getphoto( ) replaced with a much more robust image framework that offers the following features: * Metatadata for images. Find out how many images there are and other details such as their size and dimensions. * load images on demand. mme_getphoto( ) could only load the first image, 1.2 can load any image in a file that was looked up previously * large image support. 1.1 only supported images smaller than 64kb * image profiles and conversion so that you can have thumbnails created, or have all your images in JPEG format. Configurable and built on top of QNX's libimg library * image caching so that subsequent lookups don't have to go back to the device or parse the image You can find all this in the daily builds or source code posted on this project. Documentation is also included in the documentation section. Dan Cardamore 2009-04-06T20:16:42Z post26102: Memory allocation with mme_getphoto() http://community.qnx.com/sf/go/post26102 I'm using version 1.1 and we're using mme_getphoto()/freephoto() and it looks to me that on an overnight run that the memory consumption for mme-generic is growing out of control (200M on a couple hundred files). I tried to chase it down through the source code in the MM project, but it appears that the next release is destined to not have an mme_getphoto call (does that mean the next version is 2.0?) so the backing code is likely significantly different too. Any hints on how to curb this consumption? I've attached a simple program. Check out the mme-generic memory before/after running it. Also, there is some dead photo code in: mme/clientlib/mme.c: struct mmphotobuf Thanks, Thomas --- Crank Software www.cranksoftware.com Thomas Fletcher 2009-04-06T17:35:23Z post22623: Welcome to the development forum! http://community.qnx.com/sf/go/post22623 The multimedia team is happy to share with you our source code for the multimedia project. We welcome any design discussion in this forum. Dan Cardamore 2009-02-20T15:15:10Z