Feed for discussion Development in project Multimedia.Posts for Developmentpost122002: Re: Error configure cameras and sensors on custom QNX 7.1 VMwareDerek Liu(deleted)http://community.qnx.com/sf/go/post1220022022-11-21T02:58:21Z2022-11-21T02:58:21ZThank you for your prompt reply!
I can create camera on "/dev/serson/", after I added yami_video_decoder.so on libcamapi_video.conf.
like this:
/etc/system/config/aoi/libcamapi_video.conf={
#libaoi configuration file
dll = "/lib/dll/mmedia/fildes_streamer.so"
holds = 1
dll = "/lib/dll/mmedia/mp4_reader.so"
holds = 1
dll = "/lib/dll/mmedia/mp4_writer.so"
holds = 1
dll = "/lib/dll/mmedia/queue_filter.so"
holds = 1
dll = "/lib/dll/mmedia/ucv_reader.so"
holds = 1
dll = "/lib/dll/mmedia/ucv_writer.so"
holds = 1
dll = "/lib/dll/mmedia/yami_video_encoder.so"
holds = 1
dll = "/lib/dll/mmedia/yami_video_decoder.so"
holds = 1
}
And then execute the camera_example program. Chose the 3)Camera stream, like this:
=========================================================================
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
Select which example you want to run:
1) Camera viewfinder
2) Record video to a file
3) Camera stream
4) Multiple camera video
5) EGL viewfinder
6) Event example
x) Exit the example
3
Select which of the following 1 cameras you want to use:
1) CAMERA_UNIT_1
Enter Choice:
1
Select which of the following VF modes you want to use:
2) CAMERA_VFMODE_VIDEO
Enter Choice:
2
Do you want to modify the viewfinder configuration (y/n)?
n
Do you want to modify image attributes (y/n)?
n
Example prints the frame rate received from the camera; select x) to exit the example
Current frame rate: 30.3
=========================================================================
Can I use the sample video capture program to capture the camera stream?
https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.video_capture/topic/manual/vc_sample.html
But that was not work.
My test code:
int main(void) {
int n_pointers = 2;
screen_buffer_t *pointers = calloc(n_pointers, sizeof(screen_buffer_t));
// connect to screen
screen_context_t screen_ctx;
screen_window_t screen_win;
printf("%s:%d\n",__FUNCTION__,__LINE__);
screen_create_context(&screen_ctx, SCREEN_APPLICATION_CONTEXT);
screen_create_window(&screen_win, screen_ctx);
int usage = SCREEN_USAGE_NATIVE;
screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_USAGE, &usage);
int nbuffers = 2;
screen_create_window_buffers(screen_win, nbuffers);
int flags=0;//CAPTURE_BUFFER_USAGE_RDONLY;//CAPTURE_FLAG_EXTERNAL_SOURCE
capture_context_t context = capture_create_context( flags );
if( !context ) {
printf("%s:%d,Handle errors:capture context is null\n",__FUNCTION__,__LINE__);
}else{
printf("%s:%d,capture context is not null\n",__FUNCTION__,__LINE__);
}
// setup capture parameters
int getRet;
capture_set_property_i( context, CAPTURE_PROPERTY_DEVICE, 0 );
const char *info = NULL;
capture_get_property_p( context, CAPTURE_PROPERTY_DEVICE_INFO, &info );
printf("%s:%d,device-info = '%s'\n",__FUNCTION__,__LINE__,info);
int ret=0;
// Validate device's properties
if( !capture_is_property( context, CAPTURE_PROPERTY_BRIGHTNESS )){
printf("%s:%d,Unable to use buffer. Driver doesn't support CAPTURE_PROPERTY_BRIGHTNESS\n",__FUNCTION__,__LINE__);
}
if( !capture_is_property( context, CAPTURE_PROPERTY_CONTRAST )){
printf("%s:%d,Unable to use buffer. Driver doesn't support CAPTURE_PROPERTY_CONTRAST\n",__FUNCTION__,__LINE__);
}
if( !capture_is_property( context, CAPTURE_PROPERTY_SATURATION )){
printf("%s:%d,Unable to use buffer. Driver doesn't support CAPTURE_PROPERTY_SATURATION\n",__FUNCTION__,__LINE__);
}
// setup capture parameters
capture_get_property_i( context, CAPTURE_PROPERTY_NSOURCES, &getRet );
printf("%s:%d,Number of available source inputs; available after the device is set. CAPTURE_PROPERTY_NSOURCES = %d\n",__FUNCTION__,__LINE__,getRet);
capture_set_property_i(context,CAPTURE_PROPERTY_SRC_INDEX,1);
capture_get_property_i( context, CAPTURE_PROPERTY_SRC_INDEX, &getRet );
printf("%s:%d,get CAPTURE_PROPERTY_SRC_INDEX = %d\n",__FUNCTION__,__LINE__,getRet);
// tell the driver to start capturing (when capture_update() is called).
capture_set_property_i( context, CAPTURE_ENABLE, 1 );
capture_get_property_i( context, CAPTURE_ENABLE, &getRet );
printf("%s:%d,Capture start (1) and stop(0). CAPTURE_ENABLE = %d\n",__FUNCTION__,__LINE__,getRet);
// commit changes to the H/W -- and start capturing...
ret = capture_set_property_i( context, CAPTURE_PROPERTY_SRC_WIDTH, 1920);
printf("%s:%d,set CAPTURE_PROPERTY_SRC_WIDTH,return=%d\n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_i( context, CAPTURE_PROPERTY_SRC_HEIGHT, 1080);
printf("%s:%d,set CAPTURE_PROPERTY_SRC_HEIGHT,return =%d\n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_i( context, CAPTURE_PROPERTY_DST_NBYTES, 1920 * 1080 * 4 );
printf("%s:%d,set CAPTURE_PROPERTY_DST_NBYTES, return=%d\n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_i( context, CAPTURE_PROPERTY_DST_WIDTH, 1920);
printf("%s:%d,set CAPTURE_PROPERTY_DST_WIDTH, return=%d\n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_i( context, CAPTURE_PROPERTY_DST_HEIGHT, 1080);
printf("%s:%d,set CAPTURE_PROPERTY_DST_HEIGHT,return=%d\n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_i( context, CAPTURE_PROPERTY_BRIGHTNESS, 10 );
printf("%s:%d,set CAPTURE_PROPERTY_BRIGHTNESS,return=%d \n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_i( context, CAPTURE_PROPERTY_FRAME_NBUFFERS, n_pointers );
printf("%s:%d,set CAPTURE_PROPERTY_FRAME_NBUFFERS,return=%d \n",__FUNCTION__,__LINE__,ret);
ret = capture_set_property_p( context, CAPTURE_PROPERTY_FRAME_BUFFERS, pointers );
printf("%s:%d,set CAPTURE_PROPERTY_FRAME_NBUFFERS,return=%d \n",__FUNCTION__,__LINE__,ret);
//capture_update( context, CAPTURE_PROPERTY_FRAME_BUFFERS );
capture_update( context, 0 );
//int rect[4] = {0,0,1920,1080};
while( 1 ) {
capture_set_property_i( context, CAPTURE_ENABLE, 1 );
capture_get_property_i( context, CAPTURE_ENABLE, &getRet );
printf("%s:%d,Capture start (1) and stop(0). CAPTURE_ENABLE = %d\n",__FUNCTION__,__LINE__,getRet);
capture_update( context, 0 );
int nbu = 3;
uint32_t seqno[nbu];
// get next captured frame...]
capture_set_property_p( context, CAPTURE_PROPERTY_FRAME_SEQNO, &seqno );
//int idx = capture_get_frame( context, CAPTURE_TIMEOUT_NO_WAIT, 0 );
int idx = capture_get_frame( context, CAPTURE_TIMEOUT_INFINITE, 0);//CAPTURE_FLAG_LATEST_FRAME );
//int idx = capture_get_frame( context, CAPTURE_FLAG_ALLOW_UNBLOCK, 0);
capture_set_property_i( context, CAPTURE_PROPERTY_SRC_WIDTH, 1920);
capture_set_property_i( context, CAPTURE_PROPERTY_SRC_HEIGHT, 1080);
capture_set_property_i( context, CAPTURE_PROPERTY_DST_WIDTH, 1920);
capture_set_property_i( context, CAPTURE_PROPERTY_DST_HEIGHT, 1080);
capture_set_property_i( context, CAPTURE_PROPERTY_DST_STRIDE, 10);
capture_set_property_i( context, CAPTURE_PROPERTY_DST_FORMAT,SCREEN_FORMAT_NV12);//SCREEN_FORMAT_V422);
val = capture_create_buffers( context, CAPTURE_PROPERTY_FRAME_BUFFERS );
capture_get_property_p(context,CAPTURE_PROPERTY_FRAME_BUFFERS,(void **)pointers);
printf("%s:%d,pointers[0]=%p,pointers[1]=%p\n",__FUNCTION__,__LINE__,&pointers[0],&pointers[1]);
// update screen
screen_buffer_t wbuffer = get_render_buffer(screen_win);
screen_blit(screen_ctx, wbuffer, pointers[0], NULL);
screen_post_window(screen_win, wbuffer, 0, NULL, 0);
// Mark the buffer identifed by the idx as available for capturing.
capture_release_frame( context, idx );
}
return EXIT_SUCCESS;
}Derek Liu(deleted)2022-11-21T02:58:21Zpost121994: Re: Error configure cameras and sensors on custom QNX 7.1 VMwareWojtek Lerchhttp://community.qnx.com/sf/go/post1219942022-11-11T14:08:39Z2022-11-11T14:08:39ZHi Derek,
So AoLoadConfig() now finds your libcamapi_video.conf but you still don't have a video decoder in there.
The bad news is that video playback is not supported on vmware. There's a table in the documentation that lists feature availability by hardware platform:
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.adas.getting_started.overview/topic/getting_started_features_overview.html
There also is a table that lists supported cameras -- I'm afraid yours is not mentioned:
http://www.qnx.com/developers/docs/7.1/#com.qnx.doc.adas.getting_started.overview/topic/getting_started_sensor_overview.htmlWojtek Lerch2022-11-11T14:08:39Zpost121993: Re: Error configure cameras and sensors on custom QNX 7.1 VMwareDerek Liu(deleted)http://community.qnx.com/sf/go/post1219932022-11-11T10:10:02Z2022-11-11T10:10:02ZThank you for your prompt reply!
The "AoLoadConfig" error message was gone after I add conf on defualt path .
But that was another error.
missing instructions:My USB Camera device is "Logitech HD Pro Webcam C920"
the new error message on Attachment fileDerek Liu(deleted)2022-11-11T10:10:02Zpost121992: Re: Error configure cameras and sensors on custom QNX 7.1 VMwareWojtek Lerchhttp://community.qnx.com/sf/go/post1219922022-11-10T19:52:50Z2022-11-10T19:52:50ZHi Derek,
There seem to be two problems with your AOI configuration.
The first one is that your two files are in /system/etc/system/config/aoi, and by default AoLoadConfig() looks in /etc/system/config/aoi. Instead of renaming your directory, you can use an environment variable named AOI_CONFIG pointing to the directory your files are in.
http://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.utilities/topic/a/aoiconftool.html#aoiconftool__configfilenames
But even if you do that and AoLoadConfig() finds your libcamapi_video.conf, you will still get the same error about not being able to find a video decoder. That's because your libcamapi_video.conf does not mention any video decoder. You will need to add yami_video_decoder.so to your config file (and to your target, if it’s not already there), but I don’t know if it will work on vmware.Wojtek Lerch2022-11-10T19:52:50Zpost121991: Error configure cameras and sensors on custom QNX 7.1 VMwareDerek Liu(deleted)http://community.qnx.com/sf/go/post1219912022-11-10T07:22:49Z2022-11-10T07:22:49ZOn my custom create QNX 7.1 VMware image.
Run the sensor command to create device on /dev/sensor
command line:
sensor -U 1000,1000 -r /data/usr/sensor -c /system/etc/system/config/sensor.conf
and then the /dev/sensor was not found anything
the sensor.conf detial
# cat /system/etc/system/config/sensor.conf
begin SENSOR_UNIT_1
type = usb_camera
name = front
position = 0, 0, 0
direction = 0, 0, 0
address = /dev/usb/io-usb-otg, -1, -1, -1, -1
end SENSOR_UNIT_1
begin SENSOR_UNIT_2
type = file_camera
name = rear
position = 0, 0, 0
direction = 0, 0, 1
address = /data/usr/swap/frontviewvideo1.mp4
end SENSOR_UNIT_2
show the slog2info: AoLoadConfig: could not open libcamapi_video.conf or default.conf (2)
insertVideoDecoder(526): Failed to find video decoder filter: err = 4047
# slog2info
Nov 10 06:51:13.952 sensor_service.819231 info* 0 int main(int, char**)(327): Initializing our platform
Nov 10 06:51:13.952 sensor_service.819231 info 0 static Platform* Platform::constructPlatform(char*)(35): Generic platform chosen
Nov 10 06:51:13.954 sensor_service.819231 debug* 0 sensor 1:int Platform::createIspOrSensor(sensor_unit_t, sensor_type_t, SensorAddress_t*, Isp*&, Isp*&, Sensor*&)(236): usb address: flag=0, bus=0, dev=0, devId=0, vendorId=0
Nov 10 06:51:13.954 sensor_service.819231 debug 0 sensor 2:int Platform::createIspOrSensor(sensor_unit_t, sensor_type_t, SensorAddress_t*, Isp*&, Isp*&, Sensor*&)(379): file camera address: /data/usr/swap/frontviewvideo1.mp4 isCameraFormat 1
Nov 10 06:51:13.961 sensor_service.819231 info 1 [EISPL]void* openExternalCamera(uint32_t)(79): Open camera successfully: input 0
Nov 10 06:51:13.965 sensor.819231 slog* 0 failed to create debug path
Nov 10 06:51:13.976 video_mmf.819231 main* 0 AoLoadConfig: could not open libcamapi_video.conf or default.conf (2)
Nov 10 06:51:14.092 video_mmf.819231 main 0 insertVideoDecoder(526): Failed to find video decoder filter: err = 4047
Nov 10 06:51:14.092 sensor_service.819231 errors_warnings* 0 sensor 2:virtual int IspFile::initIsp()(116): Failed to create video decode session - err = 5
Nov 10 06:51:14.092 sensor_service.819231 errors_warnings 0 sensor 2:virtual int Platform::initPlatform()(787): Failed to initialize Isp
Nov 10 06:51:14.092 sensor_service.819231 debug 0 virtual int Platform::initPlatform()(812): Platform control of cache memory is enabled
Nov 10 06:51:14.092 sensor_service.819231 info 0 int main(int, char**)(334): Initializing of platform completed
Nov 10 06:51:14.092 sensor_service.819231 debug 0 virtual int Platform::acquireRootAbilities()(1298): secpol_transition_type rc = -1 errno = 48
attachment file:
# ll /system/etc/system/config/aoi/
total 19
-r-xr-xr-x 1 root root 19565 2022-11-10 06:47 default.conf
-r-xr-xr-x 1 root root 396 2022-11-10 06:47 libcamapi_video.confDerek Liu(deleted)2022-11-10T07:22:49Zpost121919: Re: Start mm-renderer Service AoLoadConfig: could not open mmr.conf or default.conf (2)Derek Liu(deleted)http://community.qnx.com/sf/go/post1219192022-09-12T04:07:00Z2022-09-12T04:07:00ZThank you for your prompt reply!
That's working!
my /system partition was writable
export MM_INIT=/lib/dll/mmedia
aoiconftool -d $MM_INIT -R -o /system/etc/config/aoi/default.conf
add on BSP build script
[uid=0 gid=0 type=dir dperms=0755] /etc/system/config/aoi/
[type=link] /etc/system/config/aoi/default.conf=/system/etc/config/aoi/default.conf
update boot bin file and then start mm-renderer after reboot
# mm-renderer -v -N 0 -e -f &
[1] 884751
# 02.041[6] Created directory /pps/services/multimedia/renderer/context?nopersist (555)
02.041[6] Created directory /pps/services/multimedia/renderer/component?nopersist (555)
02.041[5] Initializing "Single-track engine plugin" (mmr-track-engine.so)
02.041[5] Initialized "Single-track engine plugin" (mmr-track-engine.so)
02.042[5] Initializing "QNX MMF routing plugin" (mmr-mmf-routing.so)
02.042[6] MMF router: suspend_string could be 75 bytes instead of 84
02.042[5] AoLoadConfig: mmr.conf does not exist, using default.conf
02.043[3] A filter has the AOStreamInspector interface but no AOStreamMimetypes string, we will not publish its MIME info
02.043[6] MMF router (built on Sep 23 2021 at 01:14:37) initialized
02.043[5] Initialized "QNX MMF routing plugin" (mmr-mmf-routing.so)
02.044[5] Initialization complete
AoLoadConfig using default.conf
ThanksDerek Liu(deleted)2022-09-12T04:07:00Zpost121917: Re: Start mm-renderer Service AoLoadConfig: could not open mmr.conf or default.conf (2)Wojtek Lerchhttp://community.qnx.com/sf/go/post1219172022-09-07T12:44:56Z2022-09-07T12:44:56Z> How to define the mmr.conf or defualt.conf?
These files are optional and your mm-renderer should work fine without them, as long as you have the necessary binaries under /lib/dll/mmedia (or in some other place and the $MM_INIT environment variable points to that place).
But having those files lets you fine-tune your configuration and can significantly speed up mm-renderer's startup. There's a tool that lets you generate optimized config files:
http://www.qnx.com/developers/docs/7.1/#com.qnx.doc.neutrino.utilities/topic/a/aoiconftool.htmlWojtek Lerch2022-09-07T12:44:56Zpost121916: Start mm-renderer Service AoLoadConfig: could not open mmr.conf or default.conf (2)Derek Liu(deleted)http://community.qnx.com/sf/go/post1219162022-09-07T08:51:39Z2022-09-07T08:51:39ZProduct Name: QNX Software Development Platform - Perpetual - Named User Developer License (ver. 7.1.0)
On x86-64-generic BSP
start mm-render service command line
#!/bin/sh
mkdir -p /pps/services/multimedia/renderer/
slogger2
mm-renderer -v -N 0 -e -f &
the message:
slogger2 appears to have been restarted, performing cleanup...
# 27.558[6] Created directory /pps/services/multimedia/renderer/context?nopersist (555)
27.558[6] Created directory /pps/services/multimedia/renderer/component?nopersist (555)
27.559[5] Initializing "Single-track engine plugin" (mmr-track-engine.so)
27.559[5] Initialized "Single-track engine plugin" (mmr-track-engine.so)
27.560[5] Initializing "QNX MMF routing plugin" (mmr-mmf-routing.so)
27.560[6] MMF router: suspend_string could be 75 bytes instead of 84
27.560[2] AoLoadConfig: could not open mmr.conf or default.conf (2)
27.560[3] No AIO config file, trying the old MmInitialize()
27.565[5] [tid=1] static int32_t rtp::reader::AOConfig::VerifyAll():47 config done
27.572[3] A filter has the AOStreamInspector interface but no AOStreamMimetypes string, we will not publish its MIME info
27.572[6] MMF router (built on Sep 23 2021 at 01:14:37) initialized
27.572[5] Initialized "QNX MMF routing plugin" (mmr-mmf-routing.so)
27.572[5] Initialization complete
====================================================
AoLoadConfig: could not open mmr.conf or default.conf (2)
How to define the mmr.conf or defualt.conf?Derek Liu(deleted)2022-09-07T08:51:39Zpost121915: Re: Couldn't load mmr-mmf-routing.so (Library cannot be found)Derek Liu(deleted)http://community.qnx.com/sf/go/post1219152022-09-07T08:48:22Z2022-09-07T08:48:22ZThank you! That's working!
Lost define libmmcharconv.so.1Derek Liu(deleted)2022-09-07T08:48:22Zpost121913: Re: Couldn't load mmr-mmf-routing.so (Library cannot be found)Wojtek Lerchhttp://community.qnx.com/sf/go/post1219132022-09-06T12:50:28Z2022-09-06T12:50:28ZThe "Library cannot be found" message often means that even though the shared object named in the message exists, it can't be loaded because some of the shared libraries it needs can't be found on the library path. To find out what shared libraries are missing, you can use "ldd" or the DL_DEBUG environment variable.
http://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.neutrino.utilities/topic/l/ldd.html
http://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.neutrino.prog/topic/devel_Linker_envars.htmlWojtek Lerch2022-09-06T12:50:28Zpost121910: Couldn't load mmr-mmf-routing.so (Library cannot be found)Derek Liu(deleted)http://community.qnx.com/sf/go/post1219102022-09-05T03:34:06Z2022-09-05T03:34:06ZProduct Name: QNX Software Development Platform - Perpetual - Named User Developer License (ver. 7.1.0)
On x86-64-generic BSP
file path /lib/dll/mmr-mmf-routing.so
env path:
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/proc/boot:/system/bin:/system/sbin:/system/usr/bin:/lib:/lib/dll:/lib/dll/mmedia
SHELL=/bin/sh
LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/pci:/usr/lib/graphics/intel-drm:/system/lib:/lib/dll/mmedia
run command line:
#mkdir -p /pps/services/multimedia/renderer/
#slogger2
#mm-renderer -v -N 0 -e -f &
the error meaage:
slogger2 appears to have been restarted, performing cleanup...
# 59.354[6] Created directory /pps/services/multimedia/renderer/context?nopersist (555)
59.354[6] Created directory /pps/services/multimedia/renderer/component?nopersist (555)
59.357[5] Initializing "Single-track engine plugin" (mmr-track-engine.so)
59.357[5] Initialized "Single-track engine plugin" (mmr-track-engine.so)
59.360[2] Couldn't load mmr-mmf-routing.so (Library cannot be found)
59.360[5] Retiring "Single-track engine plugin" (mmr-track-engine.so)
59.360[5] Unloading "Single-track engine plugin" (mmr-track-engine.so)
59.360[1] mmr_connect: No such file or directory
Why? The mmr-mmf-routing.so couldn't load?Derek Liu(deleted)2022-09-05T03:34:06Zpost119380: io-audio shown mixer event could not be delieveredSteve Kuohttp://community.qnx.com/sf/go/post1193802019-01-03T10:34:02Z2019-01-03T10:34:02ZHi
I tried to write audio player and seeing following log always spew out while playback wav file. The pid 693739 is my audio application. Is it related to mixer event notification as http://www.qnx.com/developers/docs/qnxcar2/index.jsp?topic=%2Fcom.qnx.doc.neutrino.audio%2Ftopic%2Fmixer_MixerEventNotification.html ? Thanks!
io_audio.577372 slog 0 Mixer event could not be delivered to pid 693739 because 300 messages are outstandingSteve Kuo2019-01-03T10:34:02Zpost118914: freescale-datestamp.zipNick Qiu(deleted)http://community.qnx.com/sf/go/post1189142018-07-06T10:53:43Z2018-07-06T10:53:43ZI'm building a video playback demo on an i.MX6Quad (Boundary Devices Nitrogen6x) board which is running a QNX6.6 on it, and refer to the "About_the_QNX_SDK_for_Apps_and_Media.pdf", there should be a file called "freescale-datestamp.zip" in the QNX Download Center, but I cannot find it at all. Could anyone help me get this file? Thank you in advance.
Any other alternative idea is also highly welcomed and appreciated.Nick Qiu(deleted)2018-07-06T10:53:43Zpost118165: Re: How to play a video over network?Adrian Boak(deleted)http://community.qnx.com/sf/go/post1181652017-10-31T13:07:40Z2017-10-31T13:07:40ZI have a few questions before I can answer your query:
What version of SDP is this on?
What version of the QNX Multimedia software?
What format is the video you want to play?
Is it in a container of some sort?
On 2017-10-30, 9:25 PM, "Nam Nguyen" <community-noreply@qnx.com> wrote:
>Hi everyone,
>I am working on EVM J6 and planning to play a video over network.
>As I know, the input data for mme are files, devices.
>How can I use my specific data as the input?
>The video data frames will be received over network, then I want to play
>them real time.
>It would be grateful if you can give me a suggestion.
>
>Thank you
>
>
>
>_______________________________________________
>
>Development
>http://community.qnx.com/sf/go/post118161
>To cancel your subscription to this discussion, please e-mail
>development-multimedia-unsubscribe@community.qnx.comAdrian Boak(deleted)2017-10-31T13:07:40Zpost118161: How to play a video over network?Nam Nguyen(deleted)http://community.qnx.com/sf/go/post1181612017-10-31T01:25:32Z2017-10-31T01:25:32ZHi everyone,
I am working on EVM J6 and planning to play a video over network.
As I know, the input data for mme are files, devices.
How can I use my specific data as the input?
The video data frames will be received over network, then I want to play them real time.
It would be grateful if you can give me a suggestion.
Thank youNam Nguyen(deleted)2017-10-31T01:25:32Zpost118014: Re: QNX mm-renderer crashes when start and stop movies on multiple display frequently.Adrian Boak(deleted)http://community.qnx.com/sf/go/post1180142017-09-05T12:47:20Z2017-09-05T12:47:20ZNo version of the QNX multimedia product shipped with FFMPEG. I would
suggest getting in touch with whoever sourced those binaries for you.
On 2017-09-05, 3:02 AM, "Melody Wang" <community-noreply@qnx.com> wrote:
>I am suffering the same issue. WHen I run ffmpeg on qnx6.5, it
>occasionally core dump(Malloc Check failed). Also tells dlist.c:1171
>error. But I don't have the source code:(
>
>
>
>_______________________________________________
>
>Development
>http://community.qnx.com/sf/go/post118012
>To cancel your subscription to this discussion, please e-mail
>development-multimedia-unsubscribe@community.qnx.comAdrian Boak(deleted)2017-09-05T12:47:20Zpost118012: Re: QNX mm-renderer crashes when start and stop movies on multiple display frequently.Melody Wang(deleted)http://community.qnx.com/sf/go/post1180122017-09-05T07:02:03Z2017-09-05T07:02:03ZI am suffering the same issue. WHen I run ffmpeg on qnx6.5, it occasionally core dump(Malloc Check failed). Also tells dlist.c:1171 error. But I don't have the source code:(Melody Wang(deleted)2017-09-05T07:02:03Zpost116377: Using libcapture-usb-uvc.so on an iMX6 BoardHong Gang Ma(deleted)http://community.qnx.com/sf/go/post1163772016-06-03T10:06:57Z2016-06-03T10:06:57ZWe are using a USB camera (VID_174f&PID_1734) on an iMX6 board. The camera is connected to iMX6 through a USB hub (USB2517). It works fine in Android, and the following debug messages are output in Android,
root@android:/ # usb 2-1.3: new high speed USB device number 7 using fsl-ehci
uvcvideo: Found UVC 1.00 device Front Camera (174f:1734)
input: Front Camera as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.3/2-1.3:1.0/input/input9
Start a simple camera test application, the camera video is displayed on screen.
If we program a QNX6.6 image to the board and run the following commands, error messages are output repeatedly.
# ln -Psf /usr/lib/libcapture-usb-uvc.so /usr/lib/libcapture.so.1
# rearview-camera -zorder=-1 -parent-zorder=-1 -format=yuy2 -bsize=640x480 -sfsize=640x480 -csize=640x480 -interface-type=csi2 -source=0 -nlanes=2 -sensor-clk-mode=1 -verbosity=1 > /dev/null &
Error messages are as follow,
Has JPEG formatadjusting the source viewport size from -1 x -1 to 640 x 480
Failed to get urb status size 0 Input/output error(5) 0x2000002
Failed to get urb status size 0 Input/output error(5) 0x2000002
Failed to get urb status size 0 Input/output error(5) 0x2000002
Failed to get urb status size 0 Input/output error(5) 0x2000002
Failed to get urb status size 0 Input/output error(5) 0x2000002
Failed to get urb status size 0 Input/output error(5) 0x2000002
Failed to get urb status size 12028 Input/output error(5) 0x2000008
Failed to get urb status size 49152 Input/output error(5) 0x2000008
Failed to get urb status size 49152 Input/output error(5) 0x2000008
Failed to get urb status size 48244 Input/output error(5) 0x2000008
Failed to get urb status size 31744 Input/output error(5) 0x2000008
Failed to get urb status size 49152 Input/output error(5) 0x2000008
Failed to get urb status size 35840 Input/output error(5) 0x2000008
Run command "usb", the camera info is displayed as follow,
# usb
USB 0 (EHCI) v1.10, v1.01 DDK, v1.01 HCD
Device Address : 1
Vendor : 0x0424
Product : 0x2517
Class : 0x09 (Hub)
Subclass : 0x00
Protocol : 0x02
Hub Number Ports : 7
Hub Characteristics : 0x0089 (Individual power, Individual over-current)
Hub Power On->Good : 100 ms
Hub Power Requirements : 1 mA
Device Address : 2
...
...
Device Address : 3
Vendor : 0x174f (D-MAX)
Product : 0x1734 (Front Camera)
Class : 0xef (Unknown)
Subclass : 0x02
Protocol : 0x01
Other USB devices can work normally on the board (e.g. USB LAN, USB storage devices).
I also tested the camera using QNX6.5 image, and run vcapture-test command. But I got the same errors.
What else shall I do to make it work?
Thanks.Hong Gang Ma(deleted)2016-06-03T10:06:57Zpost115897: Re: Using libcapture on an i.MX6 SabreliteNicolas Pinaulthttp://community.qnx.com/sf/go/post1158972016-03-03T10:18:59Z2016-03-03T10:18:59ZHi,
You can't use malloc(). You can use screen_create_window_buffers().
I guess one can also use screen_create_buffer() but I didn't try.
NicolasNicolas Pinault2016-03-03T10:18:59Zpost115108: Re: QNX mm-renderer crashes when start and stop movies on multiple display frequently.Adrian Nitahttp://community.qnx.com/sf/go/post1151082015-11-25T11:17:54Z2015-11-25T11:17:54ZWe will need the use-case, so we can reproduce here, the file(s) used, the
core file
On 2015-11-25, 1:44, "DI WU" <community-noreply@qnx.com> wrote:
>Platform: Atom x86, QNX 660, Qt 5.3
>
>Log of mm-renderer:
>38.084[5] Created the mp4_parser filter based on the parser tag
>38.084[5] Finding decoder for stream 0.
>38.084[7] Trying to get compressed channel 0.
>38.085[7] Trying to get uncompressed channel 1.
>38.085[7] No channel found.
>38.085[5] No audio stream found.
>38.086[5] PGA_StreamerDisconnect() releasing pcm_handle 80e9f10
>38.087[7] Creating writer of type video_writer.
>38.088[6] Video writer getting PID 3584013.
>38.088[5] Finding decoder for stream 1.
>38.088[7] Trying to get compressed channel 0.
>38.089[5] Skipping queue after parser.
>38.089[7] find_decoder() looking for video-decoder.
>38.089[5] Couldn't create the ipp_video_decoder filter (based on the
>video-decoder tag), mmerr=4046, looking for another one
>38.091[5] MmfFreeMraPool(): channel=EncodedVideoOut, nbufs=12,
>nelements=600, max=1
>38.095[5] MmfFreeMraPool(): channel=RawDataOut, nbufs=12, nelements=50,
>max=5
>free malloc object that is not
>allocated:/builds/660_SDP/svn/lib/c/alloc/dlist.c:1121
>Abort (core dumped)
>
>
>
>
>_______________________________________________
>
>Development
>http://community.qnx.com/sf/go/post115106
>To cancel your subscription to this discussion, please e-mail
>development-multimedia-unsubscribe@community.qnx.comAdrian Nita2015-11-25T11:17:54Zpost115106: QNX mm-renderer crashes when start and stop movies on multiple display frequently.DI WU(deleted)http://community.qnx.com/sf/go/post1151062015-11-25T06:44:13Z2015-11-25T06:44:13ZPlatform: Atom x86, QNX 660, Qt 5.3
Log of mm-renderer:
38.084[5] Created the mp4_parser filter based on the parser tag
38.084[5] Finding decoder for stream 0.
38.084[7] Trying to get compressed channel 0.
38.085[7] Trying to get uncompressed channel 1.
38.085[7] No channel found.
38.085[5] No audio stream found.
38.086[5] PGA_StreamerDisconnect() releasing pcm_handle 80e9f10
38.087[7] Creating writer of type video_writer.
38.088[6] Video writer getting PID 3584013.
38.088[5] Finding decoder for stream 1.
38.088[7] Trying to get compressed channel 0.
38.089[5] Skipping queue after parser.
38.089[7] find_decoder() looking for video-decoder.
38.089[5] Couldn't create the ipp_video_decoder filter (based on the video-decoder tag), mmerr=4046, looking for another one
38.091[5] MmfFreeMraPool(): channel=EncodedVideoOut, nbufs=12, nelements=600, max=1
38.095[5] MmfFreeMraPool(): channel=RawDataOut, nbufs=12, nelements=50, max=5
free malloc object that is not allocated:/builds/660_SDP/svn/lib/c/alloc/dlist.c:1121
Abort (core dumped)DI WU(deleted)2015-11-25T06:44:13Zpost112995: Using libcapture on an i.MX6 SabreliteEd Langley(deleted)http://community.qnx.com/sf/go/post1129952015-01-19T15:40:24Z2015-01-19T15:40:24ZHello
I am trying to use libcapture-board-imx6x-no-decoder.so on a custom i.MX6 board in QNX 6.6 to capture MIPI video input. The custom board has a MIPI encoder which is being setup to emit a test signal into the i.MX6 capture port. Unfortunately the library is reporting some DMA timeouts.
As a starting point, I have tried to do use libcapture on a Sabrelite board, using the sample code from the QNX 6.6 "Video Capture Developer's Guide and API Reference".
The call to:
capture_create_buffers( context, CAPTURE_PROPERTY_FRAME_BUFFERS );
crashes with a segmentation fault within the library. I am therefore attempting to use "Application allocated" buffers, as the developers guide puts it, using the following calls:
void *frame_buffers[1];
Set CAPTURE_PROPERTY_DST_NBYTES, CAPTURE_PROPERTY_DST_WIDTH, CAPTURE_PROPERTY_DST_HEIGHT, CAPTURE_PROPERTY_DST_STRIDE properties....
capture_set_property_i( context, CAPTURE_PROPERTY_FRAME_NBUFFERS, NUMBER_OF_BUFFERS );
frame_buffers[0] = malloc(525 * 480 * 3);
capture_set_property_p( context, CAPTURE_PROPERTY_FRAME_BUFFERS, (void*)frame_buffers );
Is that right?
When I run this altered sample code, to capture a single frame, I get the following output from the i.mx6 implementation of the capture library:
capture:ctx->dead=0, ctx->enable=1, ctx->dma_rst_count=0, errno: Connection timed out
capture:ctx->dead=0, ctx->enable=1, ctx->dma_rst_count=0, errno: Connection timed out
capture:imx6x_capture_wait_for_dma_complete timed out, count=0, capture_buf=80500a0, dei_buffer_cnt=0
capture:hw_stop_transfer
capture:ctx->dead=0, ctx->enable=1, ctx->dma_rst_count=1, errno: Connection timed out
capture:imx6x_capture_wait_for_dma_complete timed out, count=1, capture_buf=80500a0, dei_buffer_cnt=0
capture:hw_stop_transfer
capture:ctx->dead=0, ctx->enable=1, ctx->dma_rst_count=2, errno: Connection timed out
capture:imx6x_capture_wait_for_dma_complete timed out, count=2, capture_buf=80500a0, dei_buffer_cnt=0
capture:hw_stop_transfer
capture:ctx->dead=0, ctx->enable=1, ctx->dma_rst_count=3, errno: Connection timed out
capture:imx6x_capture_wait_for_dma_complete timed out, count=3, capture_buf=80500a0, dei_buffer_cnt=0
capture:hw_stop_transfer
capture:ctx->dead=0, ctx->enable=1, ctx->dma_rst_count=4, errno: Connection timed out
capture:imx6x_capture_wait_for_dma_complete timed out, count=4, capture_buf=80500a0, dei_buffer_cnt=0
capture:hw_stop_transfer
capture:IPU/CCM dump, reason='timeout':
capture:CCM base: 0x 20c4000
capture:IOMUX base: 0x 20e0000
capture:IPU base: 0x 2a00000
capture:CPMEM_WRITE_1(chan 1) base: 0x 100040
capture:CPMEM_WRITE_2(chan 1) base: 0x 100060
capture:
dumping IPU registers....
capture:IPU_CONF(0): 0x00000660
capture:IPU_GPR(0xe4): 0x00000000
capture:IPU_CH_DB_MODE_SEL_0(0x150): 0x00000000
capture:IPU_CH_TRB_MODE_SEL_0(0x178):0x00000000
capture:IPU_CH_BUF0_RDY0(0x268): 0x00000000
capture:IPU_INT_CTRL_1(0x3c): 0x08800002
capture:IPU_INT_CTRL_3(0x44): 0x00000002
capture:IPU_INT_CTRL_5(0x4c): 0x00000002
capture:IPU_INT_CTRL_7(0x54): 0x00000000
capture:IPU_INT_CTRL_9(0x5c): 0x80000000
capture:IPU_INT_CTRL_10(0x60): 0x00080002
capture:IPU_INT_CTRL_11(0x64): 0x00000000
capture:IPU_INT_CTRL_13(0x6c): 0x00000000
capture:IPU_INT_CTRL_15(0x74): 0x00000000
capture:IPU_INT_STAT_1(0x200): 0x00000000
capture:IPU_INT_STAT_3(0x208): 0x00800000
capture:IPU_INT_STAT_5(0x210): 0x00000000
capture:IPU_INT_STAT_7(0x218): 0x00800000
capture:IPU_INT_STAT_9(0x220): 0x00000000
capture:IPU_INT_STAT_10(0x224): 0x00000000
capture:IPU_INT_STAT_11(0x228): 0x00000000
capture:IPU_INT_STAT_13(0x230): 0x00800000
capture:IPU_INT_STAT_15(0x238): 0x00ff400c
capture:IPU_SRM_STAT(0x24c): 0x00000000
capture:IPU_PROC_TASKS_STAT(0x250): 0x00000000
capture:IPU_DISP_TASKS_STAT(0x254): 0x00000000
capture:IDMAC_CH_EN_1(0x8004): 0x00800000
capture:IDMAC_CH_PRI_1(0x8014): 0x08800002
capture:IDMAC_LOCK_EN_1(0x8024): 0x000f0000
capture:IDMAC_CH_BUSY_1(0x8100): 0x00800000
capture:SMFC_MAP(0x50000): 0x00000020
capture:SMFC_BS(0x50008): 0x00000070
capture:CSI_SENS_CONF(1)(0x38000): 0x04000900
capture:CSI_SENS_FRM_SIZE(1)(0x38004):0x01df020c
capture:CSI_ACT_FRM_SIZE(1)(0x38008): 0x01df020c
capture:CSI_OUT_FRM_CTRL(1)(0x3800c): 0x00000000
capture:CSI_TST_CTRL(1)(0x38010): 0x00000000
capture:CSI_CCIR_CODE_1(1)(0x38014): 0x00000000
capture:CSI_CCIR_CODE_2(1)(0x38018): 0x00000000
capture:CSI_CCIR_CODE_3(1)(0x3801c): 0x00000000
capture:CSI_SKIP(1)(0x38024): 0x00000000
capture:CSI_CPD_CTRL(1)(0x38028): 0x00000000
capture:VDI_FSIZE(0x68000): 0x00000000
capture:VDI_C(0x68004): 0x00000000
The DMA timeout errors are quite likely to be significant?
Given that there is a libcapture library implementation specifically for the Sabrelite board, perhaps someone could provide a known working example to try out?
Are there any BSP alterations required? Any other hints?
Thanks
EdEd Langley(deleted)2015-01-19T15:40:24Zpost112515: Re: Process to update a BSP to QNX SDP 6.6Tom Gerardy(deleted)http://community.qnx.com/sf/go/post1125152014-12-02T23:44:32Z2014-12-02T23:44:32ZLooks like in the .lnk file of the example BSP there is added the following line in the text section:
*(.note.gnu.build-id)
between the *(.text) and *(.rodata*) lines. That got it to proceed with the link, but now I have undefineds...Tom Gerardy(deleted)2014-12-02T23:44:32Zpost110713: Process to update a BSP to QNX SDP 6.6Daniel C(deleted)http://community.qnx.com/sf/go/post1107132014-06-17T14:24:56Z2014-06-17T14:24:56ZHello,
I try to compile the BSP soft for I.MX53 QSB board using the instruction from QNX SDP 6.6.0 BSPs manual, chapter 4: Process to update a BSP to QNX SDP 6.6, but I can't figure out how to fix this error:
C:\qnx660\host\win32\x86\usr\bin\arm-unknown-nto-qnx6.6.0eabi-ld: error: no memory region specified for loadable section `.note.gnu.build-id'
Should I add a new memory section in mx53qsb.lnk file?
Can anyone give me a workaround solution?Daniel C(deleted)2014-06-17T14:24:56Zpost110699: Camera capture for I.MX53 QSB boardDaniel C(deleted)http://community.qnx.com/sf/go/post1106992014-06-16T14:15:26Z2014-06-16T14:15:26ZI want to use the video capture for the "I.MX53 QSB", but I can't find the video capture library for this board.
According to the "Video Capture Developer's Guide and API Reference" document the libcapture-board-*-*.so library must be used.
How can I create my own library to support my board?
Also how can I create a driver for the "LI-2M05CM - Leopard Imaging" camera sensor?
Can I obtain the source code for one of the supported boards (libcapture-board-*-*.so) and for one of the supported cameras (libcapture-camera-*-*.so) to modify it and the create custom libraries?Daniel C(deleted)2014-06-16T14:15:26Zpost104728: Re: How can I use usb camera in QNX?robort smithhttp://community.qnx.com/sf/go/post1047282013-09-03T04:35:49Z2013-09-03T04:35:49Z> Some "demo-quality" software is described here - it is for on particular
> camera only!
>
> http://dl.dropbox.com/u/13676760/camera.pdf
>
> A link to a pre-configured sabre-lite image with the demo is included in the
> doc.
Can you give me the source code ?
I find it's really hard for me to develop a drive.
When I am Trying to use usbd_parse_descriptors() to get the description of a isochronous endpoint ,the stack only give back a description of a control endpoint.I really don't know how to deal with this problem.
I hope you can give me the source code or tell me how to deal with this problem.robort smith2013-09-03T04:35:49Zpost104329: Re: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1043292013-08-20T13:54:23Z2013-08-20T13:54:23ZThank You Gilles.
mmecli is receiving the correct events i will check my codekandregula vijaya santhi2013-08-20T13:54:23Zpost104320: Re: No State Change event after Play back stooped and device removedGilles Royhttp://community.qnx.com/sf/go/post1043202013-08-20T13:22:49Z2013-08-20T13:22:49ZTry with mmdcli -e running in a terminal. Does mmdcli receive the proper
events? If so, you should compare your source code to the mmecli sample
source.
Thanks
GillesGilles Roy2013-08-20T13:22:49Zpost104318: Re: How can I use usb camera in QNX?Dennis Kelllyhttp://community.qnx.com/sf/go/post1043182013-08-20T12:26:12Z2013-08-20T12:26:12ZSome "demo-quality" software is described here - it is for on particular camera only!
http://dl.dropbox.com/u/13676760/camera.pdf
A link to a pre-configured sabre-lite image with the demo is included in the doc.Dennis Kellly2013-08-20T12:26:12Zpost104317: Re: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1043172013-08-20T12:03:53Z2013-08-20T12:03:53ZThank You Gilles.
Iam waiting in while loop to receive the events.Iam not getting why iam not receving the state change event.But if i insert again iam getting the 2 state change events.
Is any settings iam missing?kandregula vijaya santhi2013-08-20T12:03:53Zpost104299: Re: No State Change event after Play back stooped and device removedGilles Royhttp://community.qnx.com/sf/go/post1042992013-08-19T19:00:20Z2013-08-19T19:00:20ZMaybe you aren't caught up with all of the events, I.e. 2 events were
queued and you only called event_get() once?Gilles Roy2013-08-19T19:00:20Zpost104291: Re: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1042912013-08-19T15:59:57Z2013-08-19T15:59:57ZThank You Gilles
But iam not getting the stae change event instead iam getting event number 35 (MME_EVENT_TRKSESSION).
is any problem in handling events in my code.
Please find the code snippet below
void* ReadEvents()
{
struct _pulse pulseR;
int coid=0,chid=0,cancelstate=0;
mme_playstate_t eMMEState;
printf("Read Events\n");
// Create channel to receive the pulse notification
chid = ChannelCreate(0);
// Connect to channel for the pulse notification
coid = ConnectAttach(0, 0, chid, _NTO_SIDE_CHANNEL, 0);
SIGEV_PULSE_INIT(&event, coid, SIGEV_PULSE_PRIO_INHERIT, MME_EVENT_PULSE_CODE, 0);
if ( -1 == mme_set_notification_interval(m_hMME,1000))
{
printf("warning:mme_set_notification_interval\n");
}
//Register for MME Events
if (-1 == mme_register_for_events(m_hMME, MME_EVENT_CLASS_ALL, &event))
{
printf("Warning:Registering for Events Failed.\n");
pthread_exit(NULL);
}
//wait for Events
do
{
if (0 != MsgReceivePulse( chid, &pulseR, sizeof(pulseR), NULL))
{
continue;
}
if (-1 == mme_get_event(m_hMME, &mme_event))
{
printf("Failed to get a media event.mme_get_event() set errno=%d\n", errno);
//pthread_exit(NULL);
}
else
{
// Don't allow the thread cleanup handler to be called while it is processing
// an MME event. It may be sending a message and the mutex protecting the
// worker framework handle may not get unlocked before the thread terminates.
if (EINVAL == pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cancelstate))
{
printf("Could not disable thread cancel state.Invalid state value.");
}
//printf("Event Received:%lu\n",mme_event->type);
switch (mme_event->type)
{
case MME_EVENT_TIME:
{
mme_time_t *SData =(mme_time_t *)(mme_event->data);
uint64_t time=SData->time;
uint64_t duration=SData->duration;
MMESendTimeInfo(time,duration);
}
break;
case MME_EVENT_TRACKCHANGE:
printf("MME_EVENT_TRACKCHANGE\n");
break;
case MME_EVENT_PLAYSTATE:
printf("MME_EVENT_PLAYSTATE\n");
eMMEState = (mme_playstate_t)mme_event->data[0];
switch(eMMEState)
{
case MME_PLAYSTATE_UNKNOWN:
printf("MME_PLAYSTATE_UNKNOWN\n");
break;
case MME_PLAYSTATE_ERROR:
printf("MME_PLAYSTATE_ERROR\n");
break;
case MME_PLAYSTATE_PLAYING:
printf("MME_PLAYSTATE_PLAYING\n");
break;
case MME_PLAYSTATE_PAUSED:
printf("MME_PLAYSTATE_UNKNOWN\n");
break;
case MME_PLAYSTATE_STOPPED:
printf("MME_PLAYSTATE_STOPPED\n");
break;
case MME_PLAYSTATE_FASTFWD:
printf("MME_PLAYSTATE_FASTFWD\n");
break;
case MME_PLAYSTATE_FASTREV:
printf("MME_PLAYSTATE_FASTREV\n");
break;
default:
printf("Default MME_PLAYSTATE\n");
break;
}//End of Play event Switch
break;
case MME_EVENT_FINISHED: {
printf("MME_EVENT_FINISHED\n");
break;
}
case MME_EVENT_PLAY_ERROR:
case MME_EVENT_FINISHED_WITH_ERROR:
printf("MME_EVENT_PLAY_ERROR\n");
break;
case MME_EVENT_MS_STATECHANGE:
{
printf("MME_EVENT_MS_STATECHANGE\n");
mme_ms_statechange_t *tData =(mme_ms_statechange_t *)(mme_event->data);
printf("Data----\ntData->msid:%llu\ntData->old_state:%lu\n "
"tData->new_state:%lu\ntData->device_type:%d\ntData->storage_type:%d",
tData->msid,tData->old_state,tData->new_state,tData->device_type,tData->storage_type);
SS_SOURCE SourceType=MMEGetSystemSourceType(m_hQDB,tData->msid,tData->storage_type);
if (e_mme_ms_active == tData->new_state)
{
printf("State change New\n");
MMEProcessActiveSource(tData->msid,SourceType);
}
else
{
printf("Device Removed/De-activated\n");
//Get the source type depending on msid
int i;
for(i=0;i<SS_INVALID;i++)
{
if(DeviceArray[i]== tData->msid)
{
SourceType=i;
break;
}
}
MMEProcessDeactiveSource(tData->msid,SourceType);
}
}
break;
case MME_EVENT_SYNC_SKIPPED:
{
printf("MME_EVENT_SYNC_SKIPPED\n");
break;
}
case MME_EVENT_MS_SYNC_PENDING:
printf("MME_EVENT_MS_SYNC_PENDING\n");
break;
case MME_EVENT_MS_SYNC_STARTED:
printf("MME_EVENT_MS_SYNC_STARTED\n");
break;
case MME_EVENT_MS_SYNCCOMPLETE:
printf("MME_EVENT_MS_SYNCCOMPLETE\n");
break;
case MME_EVENT_SYNC_ERROR:
printf("MME_EVENT_MS_SYNCCOMPLETE\n");
break;
case MME_EVENT_SYNCABORTED:
printf("MME_EVENT_SYNCABORTED\n");
break;
case MME_EVENT_MS_UPDATE:
printf("MME_EVENT_MS_UPDATE\n");
break;
case MME_EVENT_MS_SYNCFIRSTFID:
printf("MME_EVENT_MS_SYNCFIRSTFID\n");
break;
case MME_EVENT_MS_SYNC_FIRST_EXISTING_FID:
printf("MME_EVENT_MS_SYNC_FIRST_EXISTING_FID\n");
break;
case MME_EVENT_MS_1PASSCOMPLETE:
printf("MME_EVENT_MS_1PASSCOMPLETE\n");
break;
case MME_EVENT_MS_2PASSCOMPLETE:
printf("MME_EVENT_MS_2PASSCOMPLETE\n");
break;
case MME_EVENT_MS_3PASSCOMPLETE:
printf("MME_EVENT_MS_3PASSCOMPLETE\n");
break;
case MME_EVENT_MS_DB_SYNC_COMPLETE:
printf("MME_EVENT_MS_DB_SYNC_COMPLETE\n");
break;
case MME_EVENT_PLAYLIST: {
printf("MME_EVENT_PLAYLIST\n");
break;
}
case MME_EVENT_MS_SYNC_FOLDER_STARTED: {
printf("MME_EVENT_MS_SYNC_FOLDER_STARTED\n");
break;
}
case MME_EVENT_MS_SYNC_FOLDER_COMPLETE: {
printf("MME_EVENT_MS_SYNC_FOLDER_COMPLETE\n");
break;
}
case MME_EVENT_MS_SYNC_FOLDER_CONTENTS_COMPLETE: {
printf("MME_EVENT_MS_SYNC_FOLDER_CONTENTS_COMPLETE\n");
break;
}
case MME_EVENT_MS_SYNC_FOLDER_TRIM_COMPLETE: {
printf("MME_EVENT_MS_SYNC_FOLDER_TRIM_COMPLETE\n");
break;
}
case MME_EVENT_MS_DETECTION_ENABLED: {
printf("MME_EVENT_MS_DETECTION_ENABLED\n");
break;
}
case MME_EVENT_MS_DETECTION_DISABLED: {
printf("MME_EVENT_MS_DETECTION_DISABLED\n");
break;
}
case MME_EVENT_METADATA_LICENSING: {
printf("MME_EVENT_METADATA_LICENSING\n");
}
break;
default:
printf("Coming to Default:Read Events-%lu\n",mme_event->type);
break;
}//End of Event Switch
}
} while (1);
}kandregula vijaya santhi2013-08-19T15:59:57Zpost104279: Re: No State Change event after Play back stooped and device removedGilles Royhttp://community.qnx.com/sf/go/post1042792013-08-19T13:47:59Z2013-08-19T13:47:59ZHi Santhi,
In your logs I see the ejection, immediate when the system level logs
report an ejection the MME does send the event immediately
(MME_EVENT_MS_STATECHANGE):
Jan 01 00:04:32 2 12 0 CLASS_ExtractDevice: dno 1, vid 18a5,
parent 0, port 0, openings 1
Jan 01 00:04:32 2 12 0 CLASS_ExtractDevice: holdoff port 0
Jan 01 00:04:32 2 19 900 umass_removal: path 1, devno 1, vid 18a5,
did 240, class 8, sclass 6, proto 50, tflags 3000
Jan 01 00:04:32 2 12 0 udi_detach: defered removal, dno 1
Jan 01 00:04:32 2 12 0 CLASS_ExtractDeviceCleanup: dno 1
Jan 01 00:04:32 5 27 0 MME:handle_eject(472): Device "/fs/usb0"
ejected.
Jan 01 00:04:32 5 27 0 MME:ms_ejected(2549): Media store at
"/fs/usb0" with ID 1 is being ejected.
Jan 01 00:04:32 5 27 0 MME:ms_state_change_internal(2313): Media
store 1 state change: active->unavailable; location ""->"".
Jan 01 00:04:32 5 27 0 MME:handle_eject(463): No more data on
"/dev/mcd/EJECTED".
Jan 01 00:04:32 5 27 0 MME:mediastores_entry_update(622): Set
database state to unavailable for media store with ID 1.
Jan 01 00:04:32 5 27 0 MME:slots_table_set_inactive(479): Set
slot inactive for media store with ID 1.
Jan 01 00:04:32 5 27 0 MME:ntfy_log_event(859):
MME_EVENT_MS_STATECHANGE(Media store 1; active->unavailable; device type
1, storage type 2)
On 13-08-19 5:41 AM, "kandregula vijaya santhi"
<community-noreply@qnx.com> wrote:
Hello Gilles,
please find the log attached.
Thanks,
Santhi
_______________________________________________
Development
http://community.qnx.com/sf/go/post104270
To cancel your subscription to this discussion, please e-mail
development-multimedia-unsubscribe@community.qnx.comGilles Roy2013-08-19T13:47:59Zpost104271: Re: How to know file system type for the media insertedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1042712013-08-19T09:43:55Z2013-08-19T09:43:55ZThank You Gilles. i will use this api to get file system type.kandregula vijaya santhi2013-08-19T09:43:55Zpost104270: Re: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1042702013-08-19T09:41:54Z2013-08-19T09:41:54ZHello Gilles,
please find the log attached.
Thanks,
Santhikandregula vijaya santhi2013-08-19T09:41:54Zpost104209: Re: No State Change event after Play back stooped and device removedGilles Royhttp://community.qnx.com/sf/go/post1042092013-08-14T18:21:55Z2013-08-14T18:21:55ZI would need you to do the following:
mmecli set_debug 4 0
Then reproduce the problem and sent me the output of sloginfo.
Regards,
GillesGilles Roy2013-08-14T18:21:55Zpost104206: Re: How to know file system type for the media insertedGilles Royhttp://community.qnx.com/sf/go/post1042062013-08-14T17:00:38Z2013-08-14T17:00:38ZThe MME doesn't monitor that. Normally you can do a statvfs() call and get
a mount type string.
Regards,
GillesGilles Roy2013-08-14T17:00:38Zpost104179: How to know file system type for the media insertedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1041792013-08-14T09:36:34Z2013-08-14T09:36:34ZHello,
How to know the file system type or volume info for the inserted media like whether it is FAT32,FAT16,EXFAT,CDDA,CDDA_TEXT,ISO,UDF?
Thanks,
Vijaya Santhi.kandregula vijaya santhi2013-08-14T09:36:34Zpost104178: Re: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1041782013-08-14T05:46:44Z2013-08-14T05:46:44ZHere is the output
# use -i mme-generic
NAME=mme-generic
DESCRIPTION=MME Generic build
DATE=2012/04/02-18:55:00-EDT
STATE=stable
HOST=ccbuild
USER=builder
VERSION=20.26.16.1
TAGID=4503@645078
Thanks,
Santhikandregula vijaya santhi2013-08-14T05:46:44Zpost104174: Re: No State Change event after Play back stooped and device removedGilles Royhttp://community.qnx.com/sf/go/post1041742013-08-14T02:13:54Z2013-08-14T02:13:54ZWhat is the output of "use -i mme-generic"?
Thanks
GillesGilles Roy2013-08-14T02:13:54Zpost104127: Re: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1041272013-08-13T06:33:24Z2013-08-13T06:33:24ZThank You Gilles
Yes MCD is showing the usb entry when i executed cat /dev/mcd/EJECTED
But iam not getting the state change event.
iam receiving only Play Stopped event when i stopped playback.
What i observed is if again insert the usb iam getting two state change events , one for ejection and another for insertion
Are there any synchronisation issues?
This is only happening with if i remove usb after stopping the playback.
If i remove the device in paused or playing state ,mme is giving proper state change eventskandregula vijaya santhi2013-08-13T06:33:24Zpost104109: Re: No State Change event after Play back stooped and device removedGilles Royhttp://community.qnx.com/sf/go/post1041092013-08-12T15:25:48Z2013-08-12T15:25:48ZNormally I would expect a state change event saying the device is ejected.
MME relies on MCD, you could do "cat /dev/mcd/EJECTED" to see if the
device is reported as ejected.
Regards,
GillesGilles Roy2013-08-12T15:25:48Zpost104100: No State Change event after Play back stooped and device removedkandregula vijaya santhihttp://community.qnx.com/sf/go/post1041002013-08-12T07:08:41Z2013-08-12T07:08:41ZHello,
I Had inserted USB and got State Change event .Started playing media and after some time stopped the play back.Then removed USB but i didnot get state change event only got Play back state stopped.
Is this the correct behaviour.In this case how to know that device is removed ?
Thanks,
Vijaya Santhi.kandregula vijaya santhi2013-08-12T07:08:41Zpost103913: Re: Continous Play and No Track Change happening after Playkandregula vijaya santhihttp://community.qnx.com/sf/go/post1039132013-08-02T14:15:56Z2013-08-02T14:15:56ZThank You Gilles.
I formatted my SD card where my image is loaded and it is working fine now.kandregula vijaya santhi2013-08-02T14:15:56Zpost103793: How can I use usb camera in QNX?robort smithhttp://community.qnx.com/sf/go/post1037932013-07-31T16:09:57Z2013-07-31T16:09:57ZI am trying to use usb camera to detect some objects.But I didn't find derive for usb camera. I want to know if it's possible for me to develop derive myself and how can I do that.robort smith2013-07-31T16:09:57Zpost103628: Re: Continous Play and No Track Change happening after PlayGilles Royhttp://community.qnx.com/sf/go/post1036282013-07-26T13:37:54Z2013-07-26T13:37:54ZNeed to see the sloginfo output.
Thanks
GillesGilles Roy2013-07-26T13:37:54Zpost103618: Re: Continous Play and No Track Change happening after Playkandregula vijaya santhihttp://community.qnx.com/sf/go/post1036182013-07-26T05:21:59Z2013-07-26T05:21:59ZI tried using "mmecli stop" but it is not giving any response(even failure also).
Thanks,
Santhikandregula vijaya santhi2013-07-26T05:21:59Zpost103588: Re: Continous Play and No Track Change happening after PlayGilles Royhttp://community.qnx.com/sf/go/post1035882013-07-25T17:51:56Z2013-07-25T17:51:56ZYour log doesn't show why the stop failed. Try "mmecli stop" to see if
that command line makes the MME stop.
Regards,
GillesGilles Roy2013-07-25T17:51:56Zpost103546: Continous Play and No Track Change happening after Playkandregula vijaya santhihttp://community.qnx.com/sf/go/post1035462013-07-25T06:48:38Z2013-07-25T06:48:38ZHello,
Please help me in fixing the following issue
Issue:
Continuous Play and No Track change happening.Also unable do Stop.
Following is the Database
# qdbc -d /dev/qdb/mme
Connected to "/dev/qdb/mme". Use 'ctrl-C' to end.
SQL>
>
> select msid,mountpath from mediastores;
Rows: 2 Cols: 2
Names: +msid+mountpath+
00000: |1|/media/drive|
00001: |2|/fs/usb0|
SQL>
> select * from nowplaying;
Rows: 1 Cols: 21
Names: +ccid+playing+fid+msid+ftype+year+bitrate+samplerate+num_channels+size+discnum+tracknum+rating+copied_fid+filename+artist+title+album+genre+category+description+
00000: |1|0|4|1|1|0|1411200|44100|2|228396|0|0|0|0|adr.wav|Unknown Artist|[NULL]|Unknown Album|Unknown Genre|Unknown Category||
SQL> select fid,msid,playable,ftype,duration,folderid,filename from library;
Rows: 11 Cols: 7
Names: +fid+msid+playable+ftype+duration+folderid+filename+
00000: |1|1|1|5|0|1||
00001: |2|1|1|4|0|1|AlbumArtSmall.jpg|
00002: |3|1|1|4|0|1|Folder.jpg|
00003: |4|1|1|1|1294|1|adr.wav|
00004: |5|1|1|1|208535|1|AMBER.wav|
00005: |6|2|1|5|0|2||
00006: |7|2|1|1|208535|2|amber.wav|
00007: |8|2|1|1|274311|2|Deewana.mp3|
00008: |9|2|1|1|266109|2|Barfi3Kyon.mp3|
00009: |10|2|1|1|270393|2|Barfi2.mp3|
00010: |11|2|1|1|319268|2|Barfi1.mp3|
SQL> select * from nowplaying
> ;
Rows: 1 Cols: 21
Names: +ccid+playing+fid+msid+ftype+year+bitrate+samplerate+num_channels+size+discnum+tracknum+rating+copied_fid+filename+artist+title+album+genre+category+description+
00000: |1|0|4|1|1|0|1411200|44100|2|228396|0|0|0|0|adr.wav|Unknown Artist|[NULL]|Unknown Album|Unknown Genre|Unknown Category||
SQL>
#
#
I started play as below
//m_hMME is the MME handler
char *sql = qdb_mprintf("SELECT fid FROM library WHERE msid=%llu and ftype=1",msId);
//create the new track session
ret = mme_newtrksession( m_hMME, sql, MME_PLAYMODE_LIBRARY, &trksessionid );
if (ret == -1)
{
printf("Warning:error creating new track session");
return ret;
}
else
{
//Set the track session
if( -1 == mme_settrksession( m_hMME, trksessionid ))
{
printf("Warning:error creating set track session\n");
ret=-1;
return ret;
}
if(-1 == mme_play_attach_output(m_hMME, m_ZoneId,m_OutputId))
{
printf("mme_play_attach_output failed:zone id(%lld),output id:%lld",
m_ZoneId, m_OutputId);
}
// pass in a fid of 0 to start from the beginning.
if( -1 == mme_play(m_hMME, 0))
{
printf("Error Play Failed %d-%s\n",errno,strerror(errno));
ret=-1;
}
else
{
printf("Play Pass\n");
}
Play is succes but it continuous.Iam continously receiving the MME_EVENT_TIME.
Always nowplaying database is showing the first song of the corresponding media store.No change happening to the nowplaying table.
Also when tried to stop ,there is no response.
Please find the log below
Jan 01 00:01:29 3 20 1 io-media-generic/aoi: PreParseID3Tag() offset 2789 truncating at offset on invalid frame id from size = 4043
Jan 01 00:01:30 1 27 0 MME:ocb_lock(150): Concurrent MME handle usage pid 458786, tid 57!
Jan 01 00:01:30 1 27 0 MME:ocb_lock(150): Concurrent MME handle usage pid 458786, tid 57!
Jan 01 00:01:30 1 27 0 MME:ocb_lock(150): Concurrent MME handle usage pid 458786, tid 57!
Jan 01 00:01:30 1 27 0 MME:ocb_lock(150): Concurrent MME handle usage pid 458786, tid 57!
Jan 01 00:01:30 1 27 0 MME:ocb_lock(150): Concurrent MME handle usage pid 458786, tid 57!
Jan 01 00:01:30 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:01:30 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no video device specified.
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: audio_writer setting AOR_TYPE_POINTER resources PcmQueueFilter to 155f40
Jan 01 00:01:30 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0, thr = -1.
Jan 01 00:01:30 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no device specified.
Jan 01 00:01:30 5 20 1 io-media-generic/mmf: Configuring the queue for 2116800 bytes, lw = 423360, hw = 1693440, thr = -1.
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: audio_writer using output device: '/dev/snd/pcmC2D0p'
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: audio_writer asking for Signed 16-bit Little Endian, 1..2x17640B frags, 44100Hz, bps=4, 2ch
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: audio_writer settings: Signed 16-bit Little Endian, 3x17640B frags, 44100Hz, bps=4, 2ch, Q time 300ms
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: audio_writer PGA_StreamerCreate() push mode = 0 adjusting chunk_size from 17640bytes to 17640bytes
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: audio_writer using mixer device '/dev/snd/mixerC2D0'
Jan 01 00:01:30 5 20 1 io-media-generic/trackplayer: Skipping subgraph 1 because there is no device specified.
Jan 01 00:01:30 3 20 1 io-media-generic/trackplayer: Couldn't subscribe to the MM_EV_USER event.
Jan 01 00:01:30 5 20 1 io-media-generic/aoi: MediaClock Resume()
Please tell me if anything iam missing.
This some what urgent to me.
Thanks,
Santhi.kandregula vijaya santhi2013-07-25T06:48:38Zpost103445: Re: No Audio heard when stated Play using mmeclikandregula vijaya santhihttp://community.qnx.com/sf/go/post1034452013-07-23T08:24:02Z2013-07-23T08:24:02ZThank You Adrian
I will try to check on the DSP chip side whether settings are proper.
Could you please confirm me from the logs that mme is sending the data to the audio channel configured?By this i want to make sure that there is no problem from aviage mme side.kandregula vijaya santhi2013-07-23T08:24:02Zpost103409: Re: No Audio heard when stated Play using mmecliAdrian Boak(deleted)http://community.qnx.com/sf/go/post1034092013-07-22T12:26:56Z2013-07-22T12:26:56ZThe "error" is a notification that there is no video output specified, so it isn't trying to build a video subgraph.
Sent from my BlackBerry 10 smartphone on the Rogers network.
From: kandregula vijaya santhi
Sent: Monday, July 22, 2013 8:10 AM
To: development-multimedia
Reply To: development-multimedia@community.qnx.com
Subject: Re: No Audio heard when stated Play using mmecli
Thank You Adrian.
Iam having having the following configuration in my device
# ls -l /dev/snd/
total 0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC1
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC2
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC0D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC1D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC2D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D1p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D1p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D1p
lrw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmPreferredc -> pcmC0D0c
lrw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmPreferredp -> pcmC0D1p
The ones which are ending with "p" are used for playback and with "c" are used for capture.
And iam using "pcmC2D0p" for playback
# qdbc -d /dev/qdb/mme
Connected to "/dev/qdb/mme". Use 'ctrl-C' to end.
SQL> select * from outputdevices;
Rows: 1 Cols: 6
Names: +outputdeviceid+type+available+permanent+name+devicepath+
00000: |1|1|1|1|defaultoutput|snd:/dev/snd/pcmC2D0p|
SQL>
Also could you please tell what the below error mean
"Skipping subgraph 1 because there is no device specified"
Thanks,
Vijaya Santhi.
_______________________________________________
Development
http://community.qnx.com/sf/go/post103406
To cancel your subscription to this discussion, please e-mail development-multimedia-unsubscribe@community.qnx.comAdrian Boak(deleted)2013-07-22T12:26:56Zpost103408: Re: No Audio heard when stated Play using mmecliAdrian Boak(deleted)http://community.qnx.com/sf/go/post1034082013-07-22T12:24:36Z2013-07-22T12:24:36ZI'd suggest you use preferredp.
It looks like you have 3 cards with multiple ports per card. Are you sure your outputs come out of the device you hooked up to?
Sent from my BlackBerry 10 smartphone on the Rogers network.
From: kandregula vijaya santhi
Sent: Monday, July 22, 2013 8:10 AM
To: development-multimedia
Reply To: development-multimedia@community.qnx.com
Subject: Re: No Audio heard when stated Play using mmecli
Thank You Adrian.
Iam having having the following configuration in my device
# ls -l /dev/snd/
total 0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC1
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC2
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC0D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC1D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC2D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D1p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D1p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D1p
lrw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmPreferredc -> pcmC0D0c
lrw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmPreferredp -> pcmC0D1p
The ones which are ending with "p" are used for playback and with "c" are used for capture.
And iam using "pcmC2D0p" for playback
# qdbc -d /dev/qdb/mme
Connected to "/dev/qdb/mme". Use 'ctrl-C' to end.
SQL> select * from outputdevices;
Rows: 1 Cols: 6
Names: +outputdeviceid+type+available+permanent+name+devicepath+
00000: |1|1|1|1|defaultoutput|snd:/dev/snd/pcmC2D0p|
SQL>
Also could you please tell what the below error mean
"Skipping subgraph 1 because there is no device specified"
Thanks,
Vijaya Santhi.
_______________________________________________
Development
http://community.qnx.com/sf/go/post103406
To cancel your subscription to this discussion, please e-mail development-multimedia-unsubscribe@community.qnx.comAdrian Boak(deleted)2013-07-22T12:24:36Zpost103406: Re: No Audio heard when stated Play using mmeclikandregula vijaya santhihttp://community.qnx.com/sf/go/post1034062013-07-22T12:10:08Z2013-07-22T12:10:08ZThank You Adrian.
Iam having having the following configuration in my device
# ls -l /dev/snd/
total 0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC1
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 controlC2
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC0D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC1D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 mixerC2D0
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC0D1p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC1D1p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D0c
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D0p
-rw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmC2D1p
lrw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmPreferredc -> pcmC0D0c
lrw-rw-rw- 1 root 0 0 Jan 01 00:29 pcmPreferredp -> pcmC0D1p
The ones which are ending with "p" are used for playback and with "c" are used for capture.
And iam using "pcmC2D0p" for playback
# qdbc -d /dev/qdb/mme
Connected to "/dev/qdb/mme". Use 'ctrl-C' to end.
SQL> select * from outputdevices;
Rows: 1 Cols: 6
Names: +outputdeviceid+type+available+permanent+name+devicepath+
00000: |1|1|1|1|defaultoutput|snd:/dev/snd/pcmC2D0p|
SQL>
Also could you please tell what the below error mean
"Skipping subgraph 1 because there is no device specified"
Thanks,
Vijaya Santhi.kandregula vijaya santhi2013-07-22T12:10:08Zpost103405: Re: No Audio heard when stated Play using mmecliAdrian Boak(deleted)http://community.qnx.com/sf/go/post1034052013-07-22T11:08:56Z2013-07-22T11:08:56ZIt looks like you're trying to play to a capture device. The naming convention is /dev/snd/pcmP<port #>D<device#> for playback devices.
Sent from my BlackBerry 10 smartphone on the Rogers network.
From: kandregula vijaya santhi
Sent: Monday, July 22, 2013 1:06 AM
To: development-multimedia
Reply To: development-multimedia@community.qnx.com
Subject: Re: No Audio heard when stated Play using mmecli
Thank You Gilles
I tried but still aim unable to hear audio
Please find the below log
# mmecli newtrksession l "select fid from library where ftype=1"
(rc=0,errno=0) new trksessionid=1. Execution Time=0.017
# mmecli settrksession 1
(rc=0,errno=0) Set trksessionid=1. Execution Time=0.052
#
#
# mmecli play
(rc=0,errno=0) Playing from tracksession fid/bid = 0. Execution Time=0.107
#an 01 00:00:36 3 26 998 QDB: created missing database mme
Jan 01 00:00:40 5 27 200 MDP:mdp_mgr_init(270): Starting metadata plug-i n initialization.
Jan 01 00:00:40 5 27 0 MME:dbs_init(663): Starting database synchroniz er initialization.
Jan 01 00:00:51 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/AlbumArtSmall.jpg".
Jan 01 00:00:51 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/AlbumArtSmall.jpg".
Jan 01 00:00:51 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/Folder.jpg".
Jan 01 00:00:51 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/Folder.jpg".
Jan 01 00:01:27 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:01:27 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no video device specified.
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer setting AOR_ TYPE_POINTER resources PcmQueueFilter to 155f40
Jan 01 00:01:27 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0, thr = -1.
Jan 01 00:01:27 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no device specified.
Jan 01 00:01:27 5 20 1 io-media-generic/mmf: Configuring the queue for 2116800 bytes, lw = 423360, hw = 1693440, thr = -1.
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer using output device: '/dev/snd/pcmC2D0p'
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer asking for S igned 16-bit Little Endian, 1..2x17640B frags, 44100Hz, bps=4, 2ch
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer settings: S igned 16-bit Little Endian, 3x17640B frags, 44100Hz, bps=4, 2ch, Q time 300ms
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer PGA_Streamer Create() push mode = 0 adjusting chunk_size from 17640bytes to 17640bytes
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer using mixer device '/dev/snd/mixerC2D0'
Jan 01 00:01:27 5 20 1 io-media-generic/trackplayer: Skipping subgraph 1 because there is no device specified.
Jan 01 00:01:27 3 20 1 io-media-generic/trackplayer: Couldn't subscrib e to the MM_EV_USER event.
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: MediaClock Resume()
#
#mmecli stop
why iam getting the below error
"Skipping subgraph 1 because there is no device specified"
Also when i do "mmecli stop" there is no response.I need to power off and on the device.
_______________________________________________
Development
http://community.qnx.com/sf/go/post103394
To cancel your subscription to this discussion, please e-mail development-multimedia-unsubscribe@community.qnx.comAdrian Boak(deleted)2013-07-22T11:08:56Zpost103394: Re: No Audio heard when stated Play using mmeclikandregula vijaya santhihttp://community.qnx.com/sf/go/post1033942013-07-22T05:06:04Z2013-07-22T05:06:04ZThank You Gilles
I tried but still aim unable to hear audio
Please find the below log
# mmecli newtrksession l "select fid from library where ftype=1"
(rc=0,errno=0) new trksessionid=1. Execution Time=0.017
# mmecli settrksession 1
(rc=0,errno=0) Set trksessionid=1. Execution Time=0.052
#
#
# mmecli play
(rc=0,errno=0) Playing from tracksession fid/bid = 0. Execution Time=0.107
#an 01 00:00:36 3 26 998 QDB: created missing database mme
Jan 01 00:00:40 5 27 200 MDP:mdp_mgr_init(270): Starting metadata plug-i n initialization.
Jan 01 00:00:40 5 27 0 MME:dbs_init(663): Starting database synchroniz er initialization.
Jan 01 00:00:51 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/AlbumArtSmall.jpg".
Jan 01 00:00:51 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/AlbumArtSmall.jpg".
Jan 01 00:00:51 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/Folder.jpg".
Jan 01 00:00:51 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/Folder.jpg".
Jan 01 00:01:27 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:01:27 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no video device specified.
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer setting AOR_ TYPE_POINTER resources PcmQueueFilter to 155f40
Jan 01 00:01:27 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0, thr = -1.
Jan 01 00:01:27 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no device specified.
Jan 01 00:01:27 5 20 1 io-media-generic/mmf: Configuring the queue for 2116800 bytes, lw = 423360, hw = 1693440, thr = -1.
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer using output device: '/dev/snd/pcmC2D0p'
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer asking for S igned 16-bit Little Endian, 1..2x17640B frags, 44100Hz, bps=4, 2ch
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer settings: S igned 16-bit Little Endian, 3x17640B frags, 44100Hz, bps=4, 2ch, Q time 300ms
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer PGA_Streamer Create() push mode = 0 adjusting chunk_size from 17640bytes to 17640bytes
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: audio_writer using mixer device '/dev/snd/mixerC2D0'
Jan 01 00:01:27 5 20 1 io-media-generic/trackplayer: Skipping subgraph 1 because there is no device specified.
Jan 01 00:01:27 3 20 1 io-media-generic/trackplayer: Couldn't subscrib e to the MM_EV_USER event.
Jan 01 00:01:27 5 20 1 io-media-generic/aoi: MediaClock Resume()
#
#mmecli stop
why iam getting the below error
"Skipping subgraph 1 because there is no device specified"
Also when i do "mmecli stop" there is no response.I need to power off and on the device.kandregula vijaya santhi2013-07-22T05:06:04Zpost103393: Re: No Audio heard when stated Play using mmecliGilles Royhttp://community.qnx.com/sf/go/post1033932013-07-22T02:13:51Z2013-07-22T02:13:51ZI think this below is your issue. You has mme setup to sync images and
tried to play one of the images.
Change your trksession query to select ftype=1 (audio) and try again.
Regards,
Gilles
On 13-07-19 1:45 AM, "kandregula vijaya santhi"
<community-noreply@qnx.com> wrote:
MME:_attachinput(3858): Could not attach input (/media/drive///Folder.jpg)
to controlcontext default (fid=4). errno=5Gilles Roy2013-07-22T02:13:51Zpost103315: No Audio heard when stated Play using mmeclikandregula vijaya santhihttp://community.qnx.com/sf/go/post1033152013-07-19T05:45:08Z2013-07-19T05:45:08ZHello,
Iam using mmecli command line option to play the tracks.
I configured "/dev/snd/pcmC2D0p" as defualt output device in the output tables.
I had done the following steps.Iam having tracks in /media/drive folder.
# qdbc -d /dev/qdb/mme
Connected to "/dev/qdb/mme". Use 'ctrl-C' to end.
SQL> select * from outputdevices;
Rows: 1 Cols: 6
Names: +outputdeviceid+type+available+permanent+name+devicepath+
00000: |1|1|1|1|defaultoutput|snd:/dev/snd/pcmC2D0p|
SQL>
#
#
#
# mmecli newtrksession l "select fid from library where ftype !=5"
(rc=0,errno=0) new trksessionid=1. Execution Time=0.028
# mmecli settrksession 1
(rc=0,errno=0) Set trksessionid=1. Execution Time=0.057
# mmecli trksession_get_info
(rc=0,errno=0) Track Session ID: 1, Current Track: 1, Total Tracks: 17. Executi on Time=0.012
#
#
# mmecli play_attach_output 1 1
(rc=0,errno=0) Attached output 1 to 1. Execution Time=0.024
#
#
#
# mmecli play
(rc=0,errno=0) Playing from tracksession fid/bid = 0. Execution Time=0.174
But iam not able to hear the sound .Please find the sloginfo
Jan 01 00:01:23 5 27 200 MDP:mdp_mgr_init(270): Starting metadata plug-i n initialization.
Jan 01 00:01:23 5 27 0 MME:dbs_init(663): Starting database synchroniz er initialization.
Jan 01 00:01:35 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/AlbumArtSmall.jpg".
Jan 01 00:01:35 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/AlbumArtSmall.jpg".
Jan 01 00:01:35 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/Folder.jpg".
Jan 01 00:01:35 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/Folder.jpg".
Jan 01 00:01:35 5 20 1 io-media-generic/aoi: mpega_parser: ID3TagV2.3 too big (194560bytes) pre-parsing ..
Jan 01 00:01:35 3 20 1 io-media-generic/aoi: PreParseID3Tag() offset 2 789 truncating at offset on invalid frame id from size = 4043
Jan 01 00:01:35 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/Seethamma Vakitlo Sirimalle Chettu (2012)/AlbumArtSmall.jpg".
Jan 01 00:01:35 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/Seethamma Vakitlo Sirimalle Chettu ( 2012)/AlbumArtSmall.jpg".
Jan 01 00:01:35 3 27 200 MDP:new_file_group(790): No metadata plug-in fo und for group 00004000 for file "/media/drive/Seethamma Vakitlo Sirimalle Chettu (2012)/Folder.jpg".
Jan 01 00:01:35 3 27 200 MDP:mdp_mgr_metadata_get_int(1088): No MDP foun d for group 00004000 for file "/media/drive/Seethamma Vakitlo Sirimalle Chettu ( 2012)/Folder.jpg".
Jan 01 00:03:23 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:03:23 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no video device specified.
Jan 01 00:03:23 5 20 1 io-media-generic/aoi: audio_writer setting AOR_ TYPE_POINTER resources PcmQueueFilter to 155f40
Jan 01 00:03:23 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0, thr = -1.
Jan 01 00:03:24 4 20 1 io-media-generic/trackplayer: Couldn't find a s uitable parser filter, mmerr=4047
Jan 01 00:03:24 2 20 1 io-media-generic/trackplayer: Error 10004, 2, 4 047:
Jan 01 00:03:24 2 20 1 io-media-generic/trackplayer: Couldn't create a linking filter for raw stream
Jan 01 00:03:24 2 27 0 MME:_attachinput(3858): Could not attach input (/media/drive///AlbumArtSmall.jpg) to controlcontext default (fid=3). errno=5
Jan 01 00:03:24 2 27 0 MME:_play(3300): Could not attach file '/media/ drive///AlbumArtSmall.jpg'
Jan 01 00:03:24 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:03:24 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no video device specified.
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer setting AOR_ TYPE_POINTER resources PcmQueueFilter to 155f40
Jan 01 00:03:24 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0, thr = -1.
Jan 01 00:03:24 4 20 1 io-media-generic/trackplayer: Couldn't find a s uitable parser filter, mmerr=4047
Jan 01 00:03:24 2 20 1 io-media-generic/trackplayer: Error 10004, 2, 4 047:
Jan 01 00:03:24 2 20 1 io-media-generic/trackplayer: Couldn't create a linking filter for raw stream
Jan 01 00:03:24 2 27 0 MME:_attachinput(3858): Could not attach input (/media/drive///Folder.jpg) to controlcontext default (fid=4). errno=5
Jan 01 00:03:24 2 27 0 MME:_play(3300): Could not attach file '/media/ drive///Folder.jpg'
Jan 01 00:03:24 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:03:24 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no video device specified.
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer setting AOR_ TYPE_POINTER resources PcmQueueFilter to 155f40
Jan 01 00:03:24 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0, thr = -1.
Jan 01 00:03:24 5 20 1 io-media-generic/trackplayer: Skipping video su bgraph because there is no device specified.
Jan 01 00:03:24 5 20 1 io-media-generic/mmf: Configuring the queue for 2116800 bytes, lw = 423360, hw = 1693440, thr = -1.
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer using output device: '/dev/snd/pcmC2D0p'
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer asking for S igned 16-bit Little Endian, 1..2x17640B frags, 44100Hz, bps=4, 2ch
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer settings: S igned 16-bit Little Endian, 3x17640B frags, 44100Hz, bps=4, 2ch, Q time 300ms
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer PGA_Streamer Create() push mode = 0 adjusting chunk_size from 17640bytes to 17640bytes
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: audio_writer using mixer device '/dev/snd/mixerC2D0'
Jan 01 00:03:24 5 20 1 io-media-generic/trackplayer: Skipping subgraph 1 because there is no device specified.
Jan 01 00:03:24 3 20 1 io-media-generic/trackplayer: Couldn't subscrib e to the MM_EV_USER event.
Jan 01 00:03:24 5 20 1 io-media-generic/aoi: MediaClock Resume()
The above log shows there is no device specified.Please help me in this regard.
Do i missing any configuration.
Thanks,
Santhi.kandregula vijaya santhi2013-07-19T05:45:08Zpost103314: Re: Query related QDB - Client API usagekandregula vijaya santhihttp://community.qnx.com/sf/go/post1033142013-07-19T05:15:04Z2013-07-19T05:15:04ZThank You Very Much Gilles.
Yes I missed the pointer.Now it is working.kandregula vijaya santhi2013-07-19T05:15:04Zpost103298: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1032982013-07-18T14:26:19Z2013-07-18T14:26:19Zqdb_cell() returns a pointer (always). If it is a number, it will be a 64
bit number.
Try changing your switch statement to:
You need to change your switch statement to:
switch(*(uint64_t *)(qdb_cell(ptRes, 0, 0)))
There should be a button somewhere to create a new post?
Regards,
GillesGilles Roy2013-07-18T14:26:19Zpost103276: Re: Query related QDB - Client API usagekandregula vijaya santhihttp://community.qnx.com/sf/go/post1032762013-07-18T06:14:36Z2013-07-18T06:14:36ZThank you very much Gilles.
Now iam able to see correct msid.
Iam trying the following code snippet to get the slottype or the device for which the state change happened but always it is going to default.i have connected USB and its msid is 1 as seen in the slots table.Please let me know what is the error in the below code
qdb_hdl_t *hQDB = qdb_connect("/dev/qdb/mme", 0);
uint64_t msid=1;
char qdbBuf[64] ;
sprintf(qdbBuf,"SELECT slottype FROM slots WHERE msid=%llu",msid);
qdb_result_t* ptRes = qdb_query(hQDB, 0, qdbBuf);
if (ptRes)
{
if( 0 < qdb_rows(ptRes))
{
switch((unsigned short)(qdb_cell(ptRes, 0, 0)))
{
case MME_SLOTTYPE_USB:
printf("MME_SLOTTYPE_USB\n");
break;
case MME_SLOTTYPE_CD:
printf("MME_SLOTTYPE_CD Source\n");
break;
case MME_SLOTTYPE_MEDIAFS:
printf("MME_SLOTTYPE_MEDIAFS Source\n");
break;
case MME_SLOTTYPE_FILESYSTEM:
printf("MME_SLOTTYPE_FILESYSTEM Source or SD Card\n");
break;
case MME_SLOTTYPE_BLUETOOTH:
printf("MME_SLOTTYPE_MEDIAFS Source\n");
break;
default:
printf("Default Source\n");
break;
}
}
Also Could You Please let me know how i post a Query myself with out associating to any other query.
I tried but could not get any option to post.kandregula vijaya santhi2013-07-18T06:14:36Zpost103256: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1032562013-07-17T15:12:22Z2013-07-17T15:12:22ZIs msid uint64_t? If so you need to print with "%llu", not "%ld"
Regards,
GillesGilles Roy2013-07-17T15:12:22Zpost103244: Re: Query related QDB - Client API usagekandregula vijaya santhihttp://community.qnx.com/sf/go/post1032442013-07-17T10:10:51Z2013-07-17T10:10:51Z> Thank You Very Much.
> I will try with Sqlite3 command line tool.
>
> Could You Please help me in setting the MME on QNX target?
> Actually still my membership request is pending and there is no option to post
> a query.
> So iam using this already posted query which is relevant to my work.
>
> Below is my query
> ---------------------
> I followed the steps mentioned in the "quick start guide" section of
> IntroductionToMME.pdf
> But iam unable to play the file using mmecli utility.It is giving error no 61.
>
>
> iam having the following doubts
> 1.Do MME updates the database tables automatically? If yes which tables it
> will update.
> 2.which tables we need to enter manually to the database
> 3.How LIBRARY table is updated
>
> Please find the attchments of my sql file
>
>
Hello,
Please can anyone help me in reading the data after receiving MME_EVENT_MS_STATECHANGE.
I want to know the msid of the device.
I know that it is stored as mme_ms_statechange_t.
But i can get the data
below is my code snippet
case MME_EVENT_MS_STATECHANGE:
{
printf("MME_EVENT_MS_STATECHANGE\n");
mme_ms_statechange_t *tData =(mme_ms_statechange_t *)(mme_event->data);
printf("Data----:%ld\n",tData->msid);
}
But iam getting some unknown value for msid.
Please help me in this regard.
Thanks,
Vijaya Santhikandregula vijaya santhi2013-07-17T10:10:51Zpost102004: Re: Query related QDB - Client API usagekandregula vijaya santhihttp://community.qnx.com/sf/go/post1020042013-06-04T13:10:00Z2013-06-04T13:10:00ZThank You Very Much.
I will try with Sqlite3 command line tool.
Could You Please help me in setting the MME on QNX target?
Actually still my membership request is pending and there is no option to post a query.
So iam using this already posted query which is relevant to my work.
Below is my query
---------------------
I followed the steps mentioned in the "quick start guide" section of IntroductionToMME.pdf
But iam unable to play the file using mmecli utility.It is giving error no 61.
iam having the following doubts
1.Do MME updates the database tables automatically? If yes which tables it will update.
2.which tables we need to enter manually to the database
3.How LIBRARY table is updated
Please find the attchments of my sql filekandregula vijaya santhi2013-06-04T13:10:00Zpost102002: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1020022013-06-04T12:58:00Z2013-06-04T12:58:00ZAre you looking for the .dump command from the sqlite3 shell? qdbc doesn't
do this.
You could build the sqlite3 shell yourself for QNX by downloading the
sqlite3 source code.
Regards,
Gilles
On 13-06-04 8:35 AM, "kandregula vijaya santhi"
<community-noreply@qnx.com> wrote:
Thank You Very Much Gilles.
Is there any way to dump the database using qdbc?
_______________________________________________
Development
http://community.qnx.com/sf/go/post102001
To cancel your subscription to this discussion, please e-mail
development-multimedia-unsubscribe@community.qnx.comGilles Roy2013-06-04T12:58:00Zpost102001: Re: Query related QDB - Client API usagekandregula vijaya santhihttp://community.qnx.com/sf/go/post1020012013-06-04T12:35:08Z2013-06-04T12:35:08ZThank You Very Much Gilles.
Is there any way to dump the database using qdbc?kandregula vijaya santhi2013-06-04T12:35:08Zpost101999: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1019992013-06-04T12:28:03Z2013-06-04T12:28:03ZHi Santhi,
With QDB you can only issue SQL commands, basically anything you see here:
http://www.sqlite.org/lang.html
Things like ".help" are sqlite3 shell commands, these are implemented by
the sqlite3 command line tool (not by the qdbc client). If you try
something like "SELECT * FROM ..." it should work if you fill in the
proper table names.
Regards,
GillesGilles Roy2013-06-04T12:28:03Zpost101990: Re: Query related QDB - Client API usagekandregula vijaya santhihttp://community.qnx.com/sf/go/post1019902013-06-04T06:25:58Z2013-06-04T06:25:58Z> 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
>
Hello Gilles,
Iam also new to qdb.I had created the MME database tables sucessfully but through "qdbc" iam able to perform only few sql commands like insert,pragma,update,delete etc.could you please share other valid commads for help,dump,to view tables etc.I tried ".help",".tables" but it is giving syntax error.
#
#
# qdbc -d /dev/qdb/mme
Connected to "/dev/qdb/mme". Use 'ctrl-C' to end.
SQL>
>
> .help;
near ".": syntax error (S1)
SQL> ".help";
near ".": syntax error (S1)
SQL>
Thanks ,
Santhikandregula vijaya santhi2013-06-04T06:25:58Zpost101073: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1010732013-05-02T02:33:10Z2013-05-02T02:33:10Zqdbc is a standard QNX 6.5.0 binary. When you install the 6.5.0 runtime,
this binary should already be included.
Regards,
GillesGilles Roy2013-05-02T02:33:10Zpost101072: Re: Query related QDB - Client API usageJian Rong Yonghttp://community.qnx.com/sf/go/post1010722013-05-02T02:27:11Z2013-05-02T02:27:11ZHi im a student trying to use QDB for the first time and i'm wondering where can i get qdbc? please enlighten meJian Rong Yong2013-05-02T02:27:11Zpost100057: Re: Query related QDB - Client API usageKathirvel Kuppusamyhttp://community.qnx.com/sf/go/post1000572013-03-20T16:40:51Z2013-03-20T16:40:51ZHi 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 Kuppusamy2013-03-20T16:40:51Zpost100056: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1000562013-03-20T16:37:00Z2013-03-20T16:37:00ZIt sounds like your application is directly modifying the underlying DB
file.
Regards,
GillesGilles Roy2013-03-20T16:37:00Zpost100049: Re: Query related QDB - Client API usageKathirvel Kuppusamyhttp://community.qnx.com/sf/go/post1000492013-03-20T15:32:16Z2013-03-20T15:32:16ZExecuting the same logic from command line interface before "application" execution, it works fine.Kathirvel Kuppusamy2013-03-20T15:32:16Zpost100048: Re: Query related QDB - Client API usageKathirvel Kuppusamyhttp://community.qnx.com/sf/go/post1000482013-03-20T15:30:17Z2013-03-20T15:30:17Z1) 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<name_of_db> "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 Kuppusamy2013-03-20T15:30:17Zpost100042: Re: Query related QDB - Client API usageGilles Royhttp://community.qnx.com/sf/go/post1000422013-03-20T14:14:01Z2013-03-20T14:14:01ZI 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<name_of_db> "SELECT ...."
Regards,
GillesGilles Roy2013-03-20T14:14:01Zpost100040: Query related QDB - Client API usageKathirvel Kuppusamyhttp://community.qnx.com/sf/go/post1000402013-03-20T14:09:56Z2013-03-20T14:09:56ZHello 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 Kuppusamy2013-03-20T14:09:56Zpost99205: Webkit running on QNX 6.5.0Ralph Canapa(deleted)http://community.qnx.com/sf/go/post992052013-02-11T16:48:53Z2013-02-11T16:48:53ZI'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(deleted)2013-02-11T16:48:53Zpost97804: QSA errorsa ghttp://community.qnx.com/sf/go/post978042012-12-05T10:54:38Z2012-12-05T10:54:38ZHi 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 g2012-12-05T10:54:38Zpost96625: Re: Using Simple Remote Lingo by means of QNX Aviage Multimedia Interface for iPod 1.2.1Jim Gildersonhttp://community.qnx.com/sf/go/post966252012-10-25T14:08:16Z2012-10-25T14:08:16ZHello
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,
>Jim Gilderson2012-10-25T14:08:16Zpost96617: Using Simple Remote Lingo by means of QNX Aviage Multimedia Interface for iPod 1.2.1Andreas Kruschwitzhttp://community.qnx.com/sf/go/post966172012-10-25T12:36:36Z2012-10-25T12:36:36ZHello,
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 Kruschwitz2012-10-25T12:36:36Zpost94521: Re: How to handle mediastore addition and deletion during playback?Yuh-Fwu Guuhttp://community.qnx.com/sf/go/post945212012-07-30T18:05:59Z2012-07-30T18:05:59ZThank you. Back to coding now... :)Yuh-Fwu Guu2012-07-30T18:05:59Zpost94519: Re: How to handle mediastore addition and deletion during playback?Ryan Allen(deleted)http://community.qnx.com/sf/go/post945192012-07-30T17:21:01Z2012-07-30T17:21:01ZYes, 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 SystemsRyan Allen(deleted)2012-07-30T17:21:01Zpost94518: Re: How to handle mediastore addition and deletion during playback?Yuh-Fwu Guuhttp://community.qnx.com/sf/go/post945182012-07-30T17:17:41Z2012-07-30T17:17:41ZRyan,
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 Guu2012-07-30T17:17:41Zpost94516: Re: How to handle mediastore addition and deletion during playback?Yuh-Fwu Guuhttp://community.qnx.com/sf/go/post945162012-07-30T15:19:47Z2012-07-30T15:19:47ZThank you Ryan,
Off to write the code now.Yuh-Fwu Guu2012-07-30T15:19:47Zpost94515: Re: How to handle mediastore addition and deletion during playback?Ryan Allen(deleted)http://community.qnx.com/sf/go/post945152012-07-30T15:10:46Z2012-07-30T15:10:46ZYes, 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 SystemsRyan Allen(deleted)2012-07-30T15:10:46Zpost94514: Re: How to handle mediastore addition and deletion during playback?Yuh-Fwu Guuhttp://community.qnx.com/sf/go/post945142012-07-30T14:56:22Z2012-07-30T14:56:22ZWill 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 Guu2012-07-30T14:56:22Zpost94513: Re: How to handle mediastore addition and deletion during playback?Ryan Allen(deleted)http://community.qnx.com/sf/go/post945132012-07-30T14:09:00Z2012-07-30T14:09:00ZMME 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 SystemsRyan Allen(deleted)2012-07-30T14:09:00Zpost94512: How to handle mediastore addition and deletion during playback?Yuh-Fwu Guuhttp://community.qnx.com/sf/go/post945122012-07-30T13:59:36Z2012-07-30T13:59:36ZHello,
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 Guu2012-07-30T13:59:36Zpost94394: Re: QuestionRyan Allen(deleted)http://community.qnx.com/sf/go/post943942012-07-24T15:37:27Z2012-07-24T15:37:27ZHi Robb,
I will send you an e-mail.
--
Ryan J. Allen
QNX Software Systems
From: Robbie Tarte <community-noreply@qnx.com<mailto:community-noreply@qnx.com>>
Reply-To: "development-multimedia@community.qnx.com<mailto:development-multimedia@community.qnx.com>" <development-multimedia@community.qnx.com<mailto:development-multimedia@community.qnx.com>>
Date: Tuesday, 24 July, 2012 11:14 AM
To: "development-multimedia@community.qnx.com<mailto:development-multimedia@community.qnx.com>" <development-multimedia@community.qnx.com<mailto:development-multimedia@community.qnx.com>>
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
x13167Ryan Allen(deleted)2012-07-24T15:37:27Zpost94393: QuestionRobbie Tarte(deleted)http://community.qnx.com/sf/go/post943932012-07-24T15:26:07Z2012-07-24T15:26:07ZI 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
x13167Robbie Tarte(deleted)2012-07-24T15:26:07Zpost94219: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1Jim Gildersonhttp://community.qnx.com/sf/go/post942192012-07-12T13:18:27Z2012-07-12T13:18:27ZHello
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" <community-noreply@qnx.com> wrote:
>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.
>
>
>
>_______________________________________________
>
>Development
>http://community.qnx.com/sf/go/post94215
>To cancel your subscription to this discussion, please e-mail
>development-multimedia-unsubscribe@community.qnx.comJim Gilderson2012-07-12T13:18:27Zpost94215: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1Rohit Nair(deleted)http://community.qnx.com/sf/go/post942152012-07-12T06:31:27Z2012-07-12T06:31:27ZHi 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(deleted)2012-07-12T06:31:27Zpost94205: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1Jim Gildersonhttp://community.qnx.com/sf/go/post942052012-07-11T19:01:47Z2012-07-11T19:01:47ZHi
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 Gilderson2012-07-11T19:01:47Zpost94183: Re: USB Audio Driver with QNX SDP 6.5 Service Pack1Rohit Nair(deleted)http://community.qnx.com/sf/go/post941832012-07-11T06:35:56Z2012-07-11T06:35:56ZCorrection to subjectRohit Nair(deleted)2012-07-11T06:35:56Zpost94182: USB Audio Driver with QNX SDP 6.0 Service Pack1Rohit Nair(deleted)http://community.qnx.com/sf/go/post941822012-07-11T06:34:05Z2012-07-11T06:34:05ZHi, 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(deleted)2012-07-11T06:34:05Zpost93813: Re: how to adjust the volume of audio capture deviceJoe Mammonehttp://community.qnx.com/sf/go/post938132012-06-21T14:24:29Z2012-06-21T14:24:29ZThe 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 Mammone2012-06-21T14:24:29Zpost93811: how to adjust the volume of audio capture deviceRamesh Vemula(deleted)http://community.qnx.com/sf/go/post938112012-06-21T13:56:39Z2012-06-21T13:56:39ZCustomer 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:39Zpost93356: Re: SQLite3 on QNX Neutrino 6.xRohit Nair(deleted)http://community.qnx.com/sf/go/post933562012-05-30T06:43:25Z2012-05-30T06:43:25ZHi 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(deleted)2012-05-30T06:43:25Zpost93342: Re: SQLite3 on QNX Neutrino 6.xDan Cardamore(deleted)http://community.qnx.com/sf/go/post933422012-05-29T12:57:59Z2012-05-29T12:57:59ZWhat 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:
> 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.
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post93326
> To cancel your subscription to this discussion, please e-mail development-multimedia-unsubscribe@community.qnx.comDan Cardamore(deleted)2012-05-29T12:57:59Zpost93326: SQLite3 on QNX Neutrino 6.xRohit Nair(deleted)http://community.qnx.com/sf/go/post933262012-05-29T04:34:28Z2012-05-29T04:34:28ZHi,
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(deleted)2012-05-29T04:34:28Zpost91957: Re: MCD : external insertion notification doesn`t workGilles Royhttp://community.qnx.com/sf/go/post919572012-03-07T19:52:25Z2012-03-07T19:52:25ZI'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,
GillesGilles Roy2012-03-07T19:52:25Zpost91902: MCD : external insertion notification doesn`t workKonstantin V(deleted)http://community.qnx.com/sf/go/post919022012-03-03T17:58:42Z2012-03-03T17:58:42ZHello 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)
> Callout = CD_MEDIA_IOBLK
> Argument = 1000,2000
> Priority = 11,10
Thank you!Konstantin V(deleted)2012-03-03T17:58:42Zpost90260: Re: IO-media APIsRyan Allen(deleted)http://community.qnx.com/sf/go/post902602011-11-23T14:39:19Z2011-11-23T14:39:19ZUsing the io-media API isn't supported, and isn't documented. Having said
that, you can find the API definitions in <iomedia/api.h> and related
files in the iomedia header directory.
--
Ryan J. Allen
QNX Software SystemsRyan Allen(deleted)2011-11-23T14:39:19Zpost90257: IO-media APIsPartha Koleyhttp://community.qnx.com/sf/go/post902572011-11-23T13:32:56Z2011-11-23T13:32:56ZHI,
i am not getting any io-media APIs. Please point me some documents that contains the io-media APIs. Thanks in advance.Partha Koley2011-11-23T13:32:56Zpost89577: Re: How to handle the Media Picker in the PlayBookSean McVeighhttp://community.qnx.com/sf/go/post895772011-10-24T21:35:55Z2011-10-24T21:35:55ZHi 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,
SeanSean McVeigh2011-10-24T21:35:55Zpost89575: Re: Finding mediastores and their statesYuh-Fwu Guuhttp://community.qnx.com/sf/go/post895752011-10-24T16:00:56Z2011-10-24T16:00:56ZThank you Gilles,
I tried query mediastore tables and got the info I needed.
Regards,
GuuYuh-Fwu Guu2011-10-24T16:00:56Zpost89569: Re: Finding mediastores and their statesGilles Royhttp://community.qnx.com/sf/go/post895692011-10-24T12:46:23Z2011-10-24T12:46:23ZYou 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:
<!-- Controls whether or not devices are automatically detected
by the MME. This is independent of synchronization. -->
<!--<DeviceDetection enabled="true"/>-->
If you uncomment the DeviceDetection and set it to false, I.e.:
<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,
GillesGilles Roy2011-10-24T12:46:23Zpost89551: Finding mediastores and their statesYuh-Fwu Guuhttp://community.qnx.com/sf/go/post895512011-10-21T20:35:55Z2011-10-21T20:35:55ZHello,
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 Guu2011-10-21T20:35:55Zpost89269: RE: io-audioArun Johnsonhttp://community.qnx.com/sf/go/post892692011-10-07T14:41:46Z2011-10-07T14:41:46ZI 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/post89261Arun Johnson2011-10-07T14:41:46Zpost89261: Re: io-audioDavid Mak-Fan(deleted)http://community.qnx.com/sf/go/post892612011-10-07T13:16:29Z2011-10-07T13:16:29ZIs 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,
DaveDavid Mak-Fan(deleted)2011-10-07T13:16:29Zpost89253: Re: How to handle the Media Picker in the PlayBookvikram boidapuhttp://community.qnx.com/sf/go/post892532011-10-07T06:48:05Z2011-10-07T06:48:05ZHi
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,
-Vikramvikram boidapu2011-10-07T06:48:05Zpost89249: io-audioArun Johnsonhttp://community.qnx.com/sf/go/post892492011-10-06T18:43:24Z2011-10-06T18:43:24ZI 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 Johnson2011-10-06T18:43:24Zpost89233: Re: How to handle the Media Picker in the PlayBookAdrian Boak(deleted)http://community.qnx.com/sf/go/post892332011-10-05T18:56:47Z2011-10-05T18:56:47ZWhat 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" <community-noreply@qnx.com> wrote:
>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
>
>
>
>_______________________________________________
>
>Development
>http://community.qnx.com/sf/go/post89225
>Adrian Boak(deleted)2011-10-05T18:56:47Zpost89225: How to handle the Media Picker in the PlayBookvikram boidapuhttp://community.qnx.com/sf/go/post892252011-10-05T06:00:18Z2011-10-05T06:00:18ZHello ,
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,
-Vikramvikram boidapu2011-10-05T06:00:18Zpost84197: Queries related to IO-audioGirisha SGhttp://community.qnx.com/sf/go/post841972011-03-23T11:56:06Z2011-03-23T11:56:06ZI 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 & 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 SG2011-03-23T11:56:06Zpost83410: BSP for I.mx356 processorjyothi Balehosurhttp://community.qnx.com/sf/go/post834102011-02-23T13:27:38Z2011-02-23T13:27:38ZHi,
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 & 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.comjyothi Balehosur2011-02-23T13:27:38Zpost83409: BSP for I.mx356 processorjyothi Balehosurhttp://community.qnx.com/sf/go/post834092011-02-23T13:22:35Z2011-02-23T13:22:35ZHi,
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
Jyothijyothi Balehosur2011-02-23T13:22:35Zpost83208: Re: "Skipping file because it is known to be not playable" endless loopDaniel Endres(deleted)http://community.qnx.com/sf/go/post832082011-02-16T14:13:21Z2011-02-16T14:13:21ZHey Ryan,
great, thanks for the quick reply!
Regards,
DanielDaniel Endres(deleted)2011-02-16T14:13:21Zpost83207: playable flag within the library tableDaniel Endres(deleted)http://community.qnx.com/sf/go/post832072011-02-16T14:04:19Z2011-02-16T14:04:19ZHi 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 <tracksession stmt>" 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, DanielDaniel Endres(deleted)2011-02-16T14:04:19Zpost83204: Re: "Skipping file because it is known to be not playable" endless
loopRyan Allen(deleted)http://community.qnx.com/sf/go/post832042011-02-16T13:44:04Z2011-02-16T13:44:04ZDaniel,
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 SystemsRyan Allen(deleted)2011-02-16T13:44:04Zpost83198: "Skipping file because it is known to be not playable" endless loopDaniel Endres(deleted)http://community.qnx.com/sf/go/post831982011-02-16T10:54:30Z2011-02-16T10:54:30ZHi 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,
DanielDaniel Endres(deleted)2011-02-16T10:54:30Zpost74637: Re: Zune playbackG. Michael Adderleyhttp://community.qnx.com/sf/go/post746372010-11-15T15:32:22Z2010-11-15T15:32:22Z> 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
We're aware of the default location /etc/pfs but noticed .der and .bin file formatsG. Michael Adderley2010-11-15T15:32:22Zpost74631: Re: Zune playbackG. Michael Adderleyhttp://community.qnx.com/sf/go/post746312010-11-15T15:25:39Z2010-11-15T15:25:39ZHello 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.
MichaelG. Michael Adderley2010-11-15T15:25:39Zpost68615: Re: How to use iom_attach_input to attach the input from USB devices?Ryan Allen(deleted)http://community.qnx.com/sf/go/post686152010-09-27T13:32:32Z2010-09-27T13:32:32ZThe 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:
> 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
>Ryan Allen(deleted)2010-09-27T13:32:32Zpost68577: How to use iom_attach_input to attach the input from USB devices?Jeff Shenghttp://community.qnx.com/sf/go/post685772010-09-24T20:50:29Z2010-09-24T20:50:29ZHello 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 ShengJeff Sheng2010-09-24T20:50:29Zpost67721: Re: Issue to play stream data using io-media APIJeff Shenghttp://community.qnx.com/sf/go/post677212010-09-17T14:22:51Z2010-09-17T14:22:51ZGilles,
Yes, it works after I did what you mentioned.
Thanks!,
JeffJeff Sheng2010-09-17T14:22:51Zpost67686: Re: Issue to play stream data using io-media APIGilles Royhttp://community.qnx.com/sf/go/post676862010-09-17T01:33:47Z2010-09-17T01:33:47ZOn 10-09-16 6:25 PM, "Jeff Sheng" <community-noreply@qnx.com> wrote:
> graphId = iom_create_graph( "streamplayer", "BT_StreamPlayer", 0 );
I would try a "trackplayer" instead of "streamplayer".
> 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:")
> 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,
GillesGilles Roy2010-09-17T01:33:47Zpost67679: Issue to play stream data using io-media APIJeff Shenghttp://community.qnx.com/sf/go/post676792010-09-16T22:25:19Z2010-09-16T22:25:19ZHi,
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( & mutexId, NULL );
pthread_mutex_lock( & mutexId);
graphId = iom_create_graph( "streamplayer", "BT_StreamPlayer", 0 );
pthread_mutex_unlock( & 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 ShengJeff Sheng2010-09-16T22:25:19Zpost66083: Re: About mme trksessionKailen Highhttp://community.qnx.com/sf/go/post660832010-09-07T08:03:23Z2010-09-07T08:03:23ZHi Gilles!
Thanks for your reply,I have fixed the problem!Kailen High2010-09-07T08:03:23Zpost66058: Re: About mme trksessionGilles Royhttp://community.qnx.com/sf/go/post660582010-09-06T12:21:28Z2010-09-06T12:21:28ZOn 10-09-06 3:16 AM, "Kailen High" <community-noreply@qnx.com> wrote:
> 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!
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,
GillesGilles Roy2010-09-06T12:21:28Zpost66035: About mme trksessionKailen Highhttp://community.qnx.com/sf/go/post660352010-09-06T07:16:54Z2010-09-06T07:16:54ZHello 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 High2010-09-06T07:16:54Zpost65851: RE: mme_rmtrksessionRyan Allen(deleted)http://community.qnx.com/sf/go/post658512010-09-03T12:17:22Z2010-09-03T12:17:22ZYou 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 SystemsRyan Allen(deleted)2010-09-03T12:17:22Zpost65846: mme_rmtrksessionArtjom Dizelhttp://community.qnx.com/sf/go/post658462010-09-03T11:53:44Z2010-09-03T11:53:44ZHi 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,
ArtjomArtjom Dizel2010-09-03T11:53:44Zpost64296: Re: Can't access the mme sourceSteven Lougheedhttp://community.qnx.com/sf/go/post642962010-08-25T13:20:43Z2010-08-25T13:20:43ZSee 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.
StevenSteven Lougheed2010-08-25T13:20:43Zpost64276: Can't access the mme sourceYong Yuhttp://community.qnx.com/sf/go/post642762010-08-25T12:11:37Z2010-08-25T12:11:37ZHello 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 Yu2010-08-25T12:11:37Zpost63271: About video decoder in mmeXiaolong Zhanghttp://community.qnx.com/sf/go/post632712010-08-17T16:11:02Z2010-08-17T16:11:02ZHello 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 Zhang2010-08-17T16:11:02Zpost63250: Re: About the mme playlists tablePeter Martin(deleted)http://community.qnx.com/sf/go/post632502010-08-17T14:15:09Z2010-08-17T14:15:09ZOn Tue, 17 Aug 2010, Kailen High wrote:
> 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?
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)
> (2)My media files is stored in the HardDrive,if I want to get a playlist
> 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.
> (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?
PeterPeter Martin(deleted)2010-08-17T14:15:09Zpost63245: Re: About the mme playlists tableKailen Highhttp://community.qnx.com/sf/go/post632452010-08-17T14:02:22Z2010-08-17T14:02:22ZHi 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 High2010-08-17T14:02:22Zpost63080: Re: About the mme playlists tableGilles Royhttp://community.qnx.com/sf/go/post630802010-08-16T14:36:22Z2010-08-16T14:36:22ZOn 10-08-15 11:17 AM, "Kailen High" <community-noreply@qnx.com> wrote:
> 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
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.
>
> 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!
Gracenote is not included. You are probably best off to talk to your sales
representative about how to get it.
Regards,
GillesGilles Roy2010-08-16T14:36:22Zpost63024: About the mme playlists tableKailen Highhttp://community.qnx.com/sf/go/post630242010-08-15T15:17:17Z2010-08-15T15:17:17ZHello 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 High2010-08-15T15:17:17Zpost62564: Re: MMF Graph for a2dp playback using SBC decoder.Gilles Royhttp://community.qnx.com/sf/go/post625642010-08-11T00:42:49Z2010-08-11T00:42:49ZOn 10-08-10 3:43 PM, "Lakshmi Boggaram" <community-noreply@qnx.com> wrote:
> 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?
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,
GillesGilles Roy2010-08-11T00:42:49Zpost62534: MMF Graph for a2dp playback using SBC decoder.Lakshmi Boggaramhttp://community.qnx.com/sf/go/post625342010-08-10T19:43:12Z2010-08-10T19:43:12ZHello 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,
LakshmiLakshmi Boggaram2010-08-10T19:43:12Zpost59318: starting ipod driver io-fs-media with nopollArtjom Dizelhttp://community.qnx.com/sf/go/post593182010-07-13T15:50:54Z2010-07-13T15:50:54ZHi 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 Dizel2010-07-13T15:50:54Zpost59230: Re: Zune playbackGilles Royhttp://community.qnx.com/sf/go/post592302010-07-12T18:21:51Z2010-07-12T18:21:51ZOn 10-07-06 9:31 AM, "Malek Naffati" <community-noreply@qnx.com> wrote:
> 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?
I believe that much of the commands are similar, but that there are
differences due to the additional encryption.
GillesGilles Roy2010-07-12T18:21:51Zpost59049: Re: mme_play_resume_msid on iPodRyan Allen(deleted)http://community.qnx.com/sf/go/post590492010-07-09T12:16:57Z2010-07-09T12:16:57ZIf 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 SystemsRyan Allen(deleted)2010-07-09T12:16:57Zpost59038: mme_play_resume_msid on iPodArtjom Dizelhttp://community.qnx.com/sf/go/post590382010-07-09T08:00:45Z2010-07-09T08:00:45ZHi 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,
ArtjomArtjom Dizel2010-07-09T08:00:45Zpost58840: Re: Hang on 0 Byte Mp3sMalek Naffatihttp://community.qnx.com/sf/go/post588402010-07-07T14:35:27Z2010-07-07T14:35:27ZApperently 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 Naffati2010-07-07T14:35:27Zpost58665: Re: Zune playbackMalek Naffatihttp://community.qnx.com/sf/go/post586652010-07-06T13:31:33Z2010-07-06T13:31:33ZThis 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 Naffati2010-07-06T13:31:33Zpost58636: Hang on 0 Byte Mp3sMalek Naffatihttp://community.qnx.com/sf/go/post586362010-07-06T07:17:22Z2010-07-06T07:17:22ZAssuming 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 Naffati2010-07-06T07:17:22Zpost58582: Re: Retrieving album artwork is not workingGilles Royhttp://community.qnx.com/sf/go/post585822010-07-05T19:52:16Z2010-07-05T19:52:16ZOn 10-06-30 2:08 PM, "Vadivel Palanisamy" <community-noreply@qnx.com> wrote:
> Hi Gilles,
>
> I have all the switch..case to print the received event. But none of them got
> 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,
GillesGilles Roy2010-07-05T19:52:16Zpost58232: Re: Retrieving album artwork is not workingVadivel Palanisamyhttp://community.qnx.com/sf/go/post582322010-06-30T18:08:09Z2010-06-30T18:08:09ZHi 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->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->m_mmestatus.sessionID)
{
//End a metadata session
rc = mme_metadata_free_session(pWorkerMetadata->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->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->type);
break;
}
} //end-switch
Regards,
VadivelVadivel Palanisamy2010-06-30T18:08:09Zpost58225: Re: Retrieving album artwork is not workingGilles Royhttp://community.qnx.com/sf/go/post582252010-06-30T17:10:06Z2010-06-30T17:10:06ZOn 10-06-30 12:25 PM, "Vadivel Palanisamy" <community-noreply@qnx.com>
wrote:
> // 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->m_mmestatus.sessionID, groups,
> &pWorkerPly->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,
GillesGilles Roy2010-06-30T17:10:06Zpost58218: Retrieving album artwork is not workingVadivel Palanisamyhttp://community.qnx.com/sf/go/post582182010-06-30T16:25:14Z2010-06-30T16:25:14ZHi,
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->m_mmestatus.uiFID = ((mme_trackchange_t*)&mme_event->data)->fid;
pWorkerPly->m_mmestatus.fid_requested = ((mme_trackchange_t*)&mme_event->data)->fid_requested;
pWorkerPly->m_mmestatus.offset = ((mme_trackchange_t*)&mme_event->data)->offset;
#if 1 // FIXME ****
// To create a metadata session and reserve the required system resouces.
rc = mme_metadata_create_session(pWorkerPly->m_mmestatus.hMME, &pWorkerPly->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->m_mmestatus.sessionID, groups, &pWorkerPly->m_mmestatus.mdinfo_rid, NULL);
if (-1 == rc) {
MM_INFO ("Fail to get metadata information.");
} else {
if( 0 != pWorkerPly->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->m_mmestatus.sessionID)
{
//End a metadata session
rc = mme_metadata_free_session(pWorkerMetadata->m_mmestatus.sessionID);
}
break;
}
Regards,
VadivelVadivel Palanisamy2010-06-30T16:25:14Zpost58168: RE: Warning-Message: Couldn't get trksession mode (25), assume enabledRyan Allen(deleted)http://community.qnx.com/sf/go/post581682010-06-30T10:12:34Z2010-06-30T10:12:34ZWe 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 SystemsRyan Allen(deleted)2010-06-30T10:12:34Zpost58166: Warning-Message: Couldn't get trksession mode (25), assume enabledArtjom Dizelhttp://community.qnx.com/sf/go/post581662010-06-30T07:56:57Z2010-06-30T07:56:57ZHi 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,
ArtjomArtjom Dizel2010-06-30T07:56:57Zpost57939: Custom Joystick driver and is0usbSeyit Seyhan(deleted)http://community.qnx.com/sf/go/post579392010-06-25T18:02:56Z2010-06-25T18:02:56ZWe 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(deleted)2010-06-25T18:02:56Zpost57872: Re: Detecting that an ipod has no contentArtjom Dizelhttp://community.qnx.com/sf/go/post578722010-06-25T06:51:24Z2010-06-25T06:51:24ZOk, thanks a lot for the info.
Regards,
ArtjomArtjom Dizel2010-06-25T06:51:24Zpost57837: Re: Detecting that an ipod has no contentGilles Royhttp://community.qnx.com/sf/go/post578372010-06-24T17:52:19Z2010-06-24T17:52:19ZFor 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" <community-noreply@qnx.com> wrote:
> 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?
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post57814
>Gilles Roy2010-06-24T17:52:19Zpost57814: Re: Detecting that an ipod has no contentArtjom Dizelhttp://community.qnx.com/sf/go/post578142010-06-24T16:12:12Z2010-06-24T16:12:12Zok, 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 Dizel2010-06-24T16:12:12Zpost57813: Re: Detecting that an ipod has no contentGilles Royhttp://community.qnx.com/sf/go/post578132010-06-24T16:01:08Z2010-06-24T16:01:08ZOn 10-06-24 11:56 AM, "Artjom Dizel" <community-noreply@qnx.com> wrote:
> 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?
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,
GillesGilles Roy2010-06-24T16:01:08Zpost57811: Detecting that an ipod has no contentArtjom Dizelhttp://community.qnx.com/sf/go/post578112010-06-24T15:56:37Z2010-06-24T15:56:37ZHi 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,
ArtjomArtjom Dizel2010-06-24T15:56:37Zpost57322: Re: Issue: Total number <files/folder/play list> getting on DB sync completeVadivel Palanisamyhttp://community.qnx.com/sf/go/post573222010-06-21T17:50:44Z2010-06-21T17:50:44ZThanks Ryan! for your support.Vadivel Palanisamy2010-06-21T17:50:44Zpost57320: Re: Zune playbackVadivel Palanisamyhttp://community.qnx.com/sf/go/post573202010-06-21T17:47:37Z2010-06-21T17:47:37ZHi 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,
VadivelVadivel Palanisamy2010-06-21T17:47:37Zpost57202: Re: Issue: Total number <files/folder/play list> getting on DB sync
completeRyan Allen(deleted)http://community.qnx.com/sf/go/post572022010-06-18T18:54:27Z2010-06-18T18:54:27ZThe 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 SystemsRyan Allen(deleted)2010-06-18T18:54:27Zpost57200: Re: Zune playbackVadivel Palanisamyhttp://community.qnx.com/sf/go/post572002010-06-18T18:34:58Z2010-06-18T18:34:58ZOn 10-06-18 1:47 PM, "Vadivel Palanisamy" <community-noreply@qnx.com> wrote:
> 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.
>>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'.
> 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.
Vadivel: Please find the new attachment.
> 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.
>>I don't know much about this. You will have to contact Microsoft to find out
the details.
GillesVadivel Palanisamy2010-06-18T18:34:58Zpost57198: Re: Zune playbackGilles Royhttp://community.qnx.com/sf/go/post571982010-06-18T18:14:34Z2010-06-18T18:14:34ZOn 10-06-18 1:47 PM, "Vadivel Palanisamy" <community-noreply@qnx.com> wrote:
> 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.
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?
> 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.
> 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.
I don't know much about this. You will have to contact Microsoft to find out
the details.
GillesGilles Roy2010-06-18T18:14:34Zpost57197: Issue: Total number <files/folder/play list> getting on DB sync completeVadivel Palanisamyhttp://community.qnx.com/sf/go/post571972010-06-18T18:12:30Z2010-06-18T18:12:30ZHi,
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 & 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, &page_size, &total_pages, &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*)&mme_event->data)->msid, ((mme_ms_update_data_t*)&mme_event->data)->added_filecount, ((mme_ms_update_data_t*)&mme_event->data)->added_foldercount, ((mme_ms_update_data_t*)&mme_event->data)->playlist_count
);
break;
}
Thanks & Regards,
VadivelVadivel Palanisamy2010-06-18T18:12:30Zpost57195: Re: Zune playbackVadivel Palanisamyhttp://community.qnx.com/sf/go/post571952010-06-18T17:47:52Z2010-06-18T17:47:52ZHi 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,
VadivelVadivel Palanisamy2010-06-18T17:47:52Zpost57187: Re: Zune playbackJim Gildersonhttp://community.qnx.com/sf/go/post571872010-06-18T16:48:55Z2010-06-18T16:48:55ZOn 10-06-18 12:48 PM, "Gilles Roy" <community-noreply@qnx.com> wrote:
>
>>
>> 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.
>
> 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
>
>
>Jim Gilderson2010-06-18T16:48:55Zpost57186: Re: Zune playbackGilles Royhttp://community.qnx.com/sf/go/post571862010-06-18T16:48:09Z2010-06-18T16:48:09ZOn 10-06-18 12:32 PM, "Vadivel Palanisamy" <community-noreply@qnx.com>
wrote:
> 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.
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,
GillesGilles Roy2010-06-18T16:48:09Zpost57182: Zune playbackVadivel Palanisamyhttp://community.qnx.com/sf/go/post571822010-06-18T16:32:10Z2010-06-18T16:32:10ZHi,
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,
VadivelVadivel Palanisamy2010-06-18T16:32:10Zpost57148: Re: RE: Creating a tracksessionVadivel Palanisamyhttp://community.qnx.com/sf/go/post571482010-06-18T13:38:15Z2010-06-18T13:38:15ZThanks Ryan Allen!Vadivel Palanisamy2010-06-18T13:38:15Zpost57116: RE: Creating a tracksessionRyan Allen(deleted)http://community.qnx.com/sf/go/post571162010-06-17T22:49:27Z2010-06-17T22:49:27ZGenerally 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 SystemsRyan Allen(deleted)2010-06-17T22:49:27Zpost57115: Re: Creating a tracksessionVadivel Palanisamyhttp://community.qnx.com/sf/go/post571152010-06-17T22:10:55Z2010-06-17T22:10:55ZThanks Ryan!
Can I create a track session (MME_PLAYMODE_LIBRARY) for iPOD device?? is there any constrain on it for iPOD.
Advance thanks!
VadivelVadivel Palanisamy2010-06-17T22:10:55Zpost57114: Re: Creating a tracksessionRyan Allen(deleted)http://community.qnx.com/sf/go/post571142010-06-17T21:31:18Z2010-06-17T21:31:18ZIf 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 SystemsRyan Allen(deleted)2010-06-17T21:31:18Zpost57110: Creating a tracksessionVadivel Palanisamyhttp://community.qnx.com/sf/go/post571102010-06-17T20:31:20Z2010-06-17T20:31:20ZIn 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 Palanisamy2010-06-17T20:31:20Zpost55202: Re: the porting of h264Kailen Highhttp://community.qnx.com/sf/go/post552022010-05-20T05:20:08Z2010-05-20T05:20:08ZHi 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 High2010-05-20T05:20:08Zpost55154: Re: the porting of h264Peter Martin(deleted)http://community.qnx.com/sf/go/post551542010-05-19T14:44:27Z2010-05-19T14:44:27ZOn Wed, 19 May 2010, Kailen High wrote:
>Subject: the porting of h264
>
> 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!
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?
PeterPeter Martin(deleted)2010-05-19T14:44:27Zpost55094: the porting of h264Kailen Highhttp://community.qnx.com/sf/go/post550942010-05-19T07:16:09Z2010-05-19T07:16:09ZHi 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 High2010-05-19T07:16:09Zpost53704: Re: dose mme support the wav format?Dan Cardamore(deleted)http://community.qnx.com/sf/go/post537042010-05-06T19:45:29Z2010-05-06T19:45:29ZHi 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" <community-noreply@qnx.com> wrote:
> 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?
_______________________________________________
Development
http://c
> ommunity.qnx.com/sf/go/post53511
--
Dan Cardamore <dcardamore@qnx.com>Dan Cardamore(deleted)2010-05-06T19:45:29Zpost53511: Re: dose mme support the wav format?Steven Lougheedhttp://community.qnx.com/sf/go/post535112010-05-04T13:37:20Z2010-05-04T13:37:20ZI 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 Lougheed2010-05-04T13:37:20Zpost53491: Re: dose mme support the wav format?Dan Cardamore(deleted)http://community.qnx.com/sf/go/post534912010-05-04T11:52:38Z2010-05-04T11:52:38Zwav 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" <community-noreply@qnx.com> wrote:
> 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!
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post53488
>
>
--
Dan Cardamore <dcardamore@qnx.com>Dan Cardamore(deleted)2010-05-04T11:52:38Zpost53488: dose mme support the wav format?Kailen Highhttp://community.qnx.com/sf/go/post534882010-05-04T11:18:34Z2010-05-04T11:18:34ZHi 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 High2010-05-04T11:18:34Zpost52753: Re: MP3 Streaming PlayerDan Cardamore(deleted)http://community.qnx.com/sf/go/post527532010-04-26T13:06:09Z2010-04-26T13:06:09ZHi 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" <community-noreply@qnx.com> wrote:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post52746
>
>
--
Dan Cardamore <dcardamore@qnx.com>Dan Cardamore(deleted)2010-04-26T13:06:09Zpost52746: Re: MP3 Streaming PlayerNishchal Arorahttp://community.qnx.com/sf/go/post527462010-04-26T12:19:07Z2010-04-26T12:19:07ZHi 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,
NishchalNishchal Arora2010-04-26T12:19:07Zpost52735: Re: MP3 Streaming PlayerDan Cardamore(deleted)http://community.qnx.com/sf/go/post527352010-04-26T10:31:57Z2010-04-26T10:31:57ZHi 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" <community-noreply@qnx.com> wrote:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post52432
>
>
--
Dan Cardamore <dcardamore@qnx.com>Dan Cardamore(deleted)2010-04-26T10:31:57Zpost52432: MP3 Streaming PlayerNishchal Arorahttp://community.qnx.com/sf/go/post524322010-04-22T21:36:57Z2010-04-22T21:36:57ZHi
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.
ThanksNishchal Arora2010-04-22T21:36:57Zpost52004: RE: retrieving metadata information from an iPodMate Szarvashttp://community.qnx.com/sf/go/post520042010-04-19T07:27:28Z2010-04-19T07:27:28ZMay 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/mmexploreMate Szarvas2010-04-19T07:27:28Zpost52003: retrieving metadata information from an iPodArtjom Dizelhttp://community.qnx.com/sf/go/post520032010-04-19T06:51:16Z2010-04-19T06:51:16ZHi 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 Dizel2010-04-19T06:51:16Zpost52002: Re: Creating an ipod-tracksessionArtjom Dizelhttp://community.qnx.com/sf/go/post520022010-04-19T06:40:58Z2010-04-19T06:40:58Zthanks for the advice with 'io-media'.
Taking another version of the driver solved the issue.Artjom Dizel2010-04-19T06:40:58Zpost51709: Re: Creating an ipod-tracksessionRyan Allen(deleted)http://community.qnx.com/sf/go/post517092010-04-14T20:37:55Z2010-04-14T20:37:55ZIs 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 SystemsRyan Allen(deleted)2010-04-14T20:37:55Zpost51673: Creating an ipod-tracksessionArtjom Dizelhttp://community.qnx.com/sf/go/post516732010-04-14T16:29:48Z2010-04-14T16:29:48ZHi 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 Dizel2010-04-14T16:29:48Zpost51209: Re: Starting the iPod filesystem with serial cable connectionGilles Royhttp://community.qnx.com/sf/go/post512092010-04-06T14:49:42Z2010-04-06T14:49:42Z> 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"?
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,
GillesGilles Roy2010-04-06T14:49:42Zpost51207: Starting the iPod filesystem with serial cable connectionArtjom Dizelhttp://community.qnx.com/sf/go/post512072010-04-06T14:41:15Z2010-04-06T14:41:15ZHi 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 Dizel2010-04-06T14:41:15Zpost50502: Re: Error "Maximum allowed filesystems with MME reached"Jasmine Fonghttp://community.qnx.com/sf/go/post505022010-03-25T21:52:20Z2010-03-25T21:52:20ZYou are right, it is our code which is doing the limiting. Problem fixed now.
Thanks!Jasmine Fong2010-03-25T21:52:20Zpost49709: Re: [MME] Freeing memory of mme_explore_info_t structuresGilles Royhttp://community.qnx.com/sf/go/post497092010-03-17T11:20:00Z2010-03-17T11:20:00Z> 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?
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.
GillesGilles Roy2010-03-17T11:20:00Zpost49696: [MME] Freeing memory of mme_explore_info_t structuresSebastian Kieselhttp://community.qnx.com/sf/go/post496962010-03-17T07:11:39Z2010-03-17T07:11:39ZHi 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,
SebastianSebastian Kiesel2010-03-17T07:11:39Zpost49615: Re: Exploring - Retrieving the filenameGilles Royhttp://community.qnx.com/sf/go/post496152010-03-16T15:15:07Z2010-03-16T15:15:07ZI believe it includes the path information as well, but not the mountpath.
Regards,
GillesGilles Roy2010-03-16T15:15:07Zpost49613: Re: [MME] Correct usage of mme_explore_playlist_find_file()Gilles Royhttp://community.qnx.com/sf/go/post496132010-03-16T15:03:49Z2010-03-16T15:03:49Z> 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()?
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,
GillesGilles Roy2010-03-16T15:03:49Zpost49607: Re: [MME] Correct usage of mme_explore_playlist_find_file()Mate Szarvashttp://community.qnx.com/sf/go/post496072010-03-16T14:33:47Z2010-03-16T14:33:47ZYou may want to have a look at the source of the mmexplore sample util if have not yet.
----- Original Message -----
From: Sebastian Kiesel <community-noreply@qnx.com>
To: development-multimedia <post49571@community.qnx.com>
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()
...
=> 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().
=> 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()
...
=> 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/post49571Mate Szarvas2010-03-16T14:33:47Zpost49597: Re: mme.conf - parameter for notification intervalDan Cardamore(deleted)http://community.qnx.com/sf/go/post495972010-03-16T13:34:27Z2010-03-16T13:34:27ZThere isn¹t a configuration option so you need to use the API.
Dan
On 10-03-16 5:49 AM, "Sebastian Kiesel" <community-noreply@qnx.com> wrote:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post49573
>
>
--
Dan Cardamore <dcardamore@qnx.com>
QNX Multimedia http://community.qnx.com/sf/projects/multimediaDan Cardamore(deleted)2010-03-16T13:34:27Zpost49573: mme.conf - parameter for notification intervalSebastian Kieselhttp://community.qnx.com/sf/go/post495732010-03-16T09:49:21Z2010-03-16T09:49:21ZHi 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,
SebastianSebastian Kiesel2010-03-16T09:49:21Zpost49571: [MME] Correct usage of mme_explore_playlist_find_file()Sebastian Kieselhttp://community.qnx.com/sf/go/post495712010-03-16T09:16:40Z2010-03-16T09:16:40ZHi 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()
...
=> 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().
=> 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()
...
=> 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,
SebastianSebastian Kiesel2010-03-16T09:16:40Zpost49334: Exploring - Retrieving the filenameSebastian Kieselhttp://community.qnx.com/sf/go/post493342010-03-12T07:41:35Z2010-03-12T07:41:35ZHi all,
includes the path within the struct mme_explore_info_t already the filename or not
after calling mme_explore_info_get?
Thanks,
SebastianSebastian Kiesel2010-03-12T07:41:35Zpost49295: Re: MME Explorer API - mme_explore_position_setGilles Royhttp://community.qnx.com/sf/go/post492952010-03-11T15:40:56Z2010-03-11T15:40:56Z> 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?
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,
GillesGilles Roy2010-03-11T15:40:56Zpost49280: MME Explorer API - mme_explore_position_setSebastian Kieselhttp://community.qnx.com/sf/go/post492802010-03-11T15:03:12Z2010-03-11T15:03:12ZHi 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,
SebastianSebastian Kiesel2010-03-11T15:03:12Zpost48753: Re: Multimedia Streaming Application in QNXGilles Royhttp://community.qnx.com/sf/go/post487532010-03-03T20:51:58Z2010-03-03T20:51:58Z> 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,
GilllesGilles Roy2010-03-03T20:51:58Zpost48732: Re: Multimedia Streaming Application in QNXSeraph Varghesehttp://community.qnx.com/sf/go/post487322010-03-03T17:14:21Z2010-03-03T17:14:21ZHi Giles
I did try to build on the command line but it says the svn is not recognized.
Regards,
SeraphSeraph Varghese2010-03-03T17:14:21Zpost48697: Re: Multimedia Streaming Application in QNXGilles Royhttp://community.qnx.com/sf/go/post486972010-03-03T13:48:13Z2010-03-03T13:48:13Z> 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?
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,
GillesGilles Roy2010-03-03T13:48:13Zpost48692: Re: high-power USB device supportGilles Royhttp://community.qnx.com/sf/go/post486922010-03-03T13:28:45Z2010-03-03T13:28:45ZMight want to post this in the "BSP and drivers" project, you might get more USB experts monitoring that forum.
Regards,
GillesGilles Roy2010-03-03T13:28:45Zpost48691: Re: QDB - how to retrieve row number of result row!Florian Becherhttp://community.qnx.com/sf/go/post486912010-03-03T13:23:49Z2010-03-03T13:23:49ZHi 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,
FlorianFlorian Becher2010-03-03T13:23:49Zpost48666: Re: Multimedia Streaming Application in QNXSeraph Varghesehttp://community.qnx.com/sf/go/post486662010-03-02T21:46:45Z2010-03-02T21:46:45ZHi 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,
SeraphSeraph Varghese2010-03-02T21:46:45Zpost48612: Re: Multimedia Streaming Application in QNXGilles Royhttp://community.qnx.com/sf/go/post486122010-03-02T14:40:18Z2010-03-02T14:40:18Z> 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?
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,
GillesGilles Roy2010-03-02T14:40:18Zpost48597: Re: Multimedia Streaming Application in QNXSeraph Varghesehttp://community.qnx.com/sf/go/post485972010-03-02T09:52:10Z2010-03-02T09:52:10ZHi 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,
SeraphSeraph Varghese2010-03-02T09:52:10Zpost48591: Re: Multimedia Streaming Application in QNXGilles Royhttp://community.qnx.com/sf/go/post485912010-03-02T01:28:04Z2010-03-02T01:28:04ZA 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.
GillesGilles Roy2010-03-02T01:28:04Zpost48571: Re: Multimedia Streaming Application in QNXSeraph Varghesehttp://community.qnx.com/sf/go/post485712010-03-01T21:44:47Z2010-03-01T21:44:47ZHi 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,
SeraphSeraph Varghese2010-03-01T21:44:47Zpost48537: Re: Multimedia Streaming Application in QNXDan Cardamore(deleted)http://community.qnx.com/sf/go/post485372010-03-01T18:35:53Z2010-03-01T18:35:53ZHi 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
DanDan Cardamore(deleted)2010-03-01T18:35:53Zpost48528: Re: Error "Maximum allowed filesystems with MME reached"Gilles Royhttp://community.qnx.com/sf/go/post485282010-03-01T16:33:35Z2010-03-01T16:33:35Z> "Maximum allowed filesystems with MME reached!"
Based on the mcd.cfg you posted, I suspect this is your software doing this, not QNX software.
> I can clearly see the 4th device being mounted.
>
> /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/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)
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,
GillesGilles Roy2010-03-01T16:33:35Zpost48439: Re: Multimedia Streaming Application in QNXGilles Royhttp://community.qnx.com/sf/go/post484392010-02-26T17:29:14Z2010-02-26T17:29:14ZIn 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,
GillesGilles Roy2010-02-26T17:29:14Zpost48396: Re: Multimedia Streaming Application in QNXSeraph Varghesehttp://community.qnx.com/sf/go/post483962010-02-26T13:42:57Z2010-02-26T13:42:57ZOr would it be better to build the MM suite source code directly on to the QNX 6.3 RTOS?Seraph Varghese2010-02-26T13:42:57Zpost48264: Multimedia Streaming Application in QNXSeraph Varghesehttp://community.qnx.com/sf/go/post482642010-02-25T12:29:00Z2010-02-25T12:29:00ZHi
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,
SeraphSeraph Varghese2010-02-25T12:29:00Zpost48241: Re: Error "Maximum allowed filesystems with MME reached"Jasmine Fonghttp://community.qnx.com/sf/go/post482412010-02-24T21:45:35Z2010-02-24T21:45:35Z> On Wed, 24 Feb 2010, Jasmine Fong wrote:
>
> 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?
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) ==> partition 1
/dev/umass/usb06900t12 on /fs/usb1 type dos (fat32) ==> partition 2
/dev/umass/usb05500t11 on /fs/usb0 type dos (fat32) ==> 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) ==> 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) ==> 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]
> 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"
# 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 Fong2010-02-24T21:45:35Zpost48217: Re: Error "Maximum allowed filesystems with MME reached"Peter Martin(deleted)http://community.qnx.com/sf/go/post482172010-02-24T18:58:24Z2010-02-24T18:58:24ZOn Wed, 24 Feb 2010, Jasmine Fong wrote:
>Date: Wed, 24 Feb 2010 12:14:11 -0500 (EST)
>From: Jasmine Fong <community-noreply@qnx.com>
>Reply-To: post48196@community.qnx.com
>To: development-multimedia <post48196@community.qnx.com>
>Subject: Error "Maximum allowed filesystems with MME reached"
>
>
> 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)
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,
PeterPeter Martin(deleted)2010-02-24T18:58:24Zpost48196: Error "Maximum allowed filesystems with MME reached"Jasmine Fonghttp://community.qnx.com/sf/go/post481962010-02-24T17:14:10Z2010-02-24T17:14:10ZCurrently, 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 Fong2010-02-24T17:14:10Zpost47611: Re: high-power USB device supportChris Li(deleted)http://community.qnx.com/sf/go/post476112010-02-17T21:58:23Z2010-02-17T21:58:23ZYes, 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,
ChrisChris Li(deleted)2010-02-17T21:58:23Zpost47509: Re: high-power USB device supportGilles Royhttp://community.qnx.com/sf/go/post475092010-02-17T14:38:35Z2010-02-17T14:38:35Z> 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.
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?
> 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).
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 &
Regards,
GillesGilles Roy2010-02-17T14:38:35Zpost47467: Re: high-power USB device supportChris Li(deleted)http://community.qnx.com/sf/go/post474672010-02-17T01:07:58Z2010-02-17T01:07:58ZHi 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,
ChrisChris Li(deleted)2010-02-17T01:07:58Zpost47440: Re: high-power USB device supportGilles Royhttp://community.qnx.com/sf/go/post474402010-02-16T18:33:00Z2010-02-16T18:33:00Z> Is there anything special we need to do to tell Aviage that the USB driver has
> 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.
GillesGilles Roy2010-02-16T18:33:00Zpost47374: Re: high-power USB device supportGilles Royhttp://community.qnx.com/sf/go/post473742010-02-16T14:24:32Z2010-02-16T14:24:32Z> 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.
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,
GillesGilles Roy2010-02-16T14:24:32Zpost47331: high-power USB device supportRadek Pesinahttp://community.qnx.com/sf/go/post473312010-02-15T23:39:35Z2010-02-15T23:39:35ZHi,
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 Pesina2010-02-15T23:39:35Zpost47227: Re: QDB - Precompiled vs. Not-Precompiled Database QueriesGilles Royhttp://community.qnx.com/sf/go/post472272010-02-12T15:53:07Z2010-02-12T15:53:07Z> - 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.
> - 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.
> - What is the overall limit of precompiled queries?
I don't think there is any limit above how much memory they would consume.
> - 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 Roy2010-02-12T15:53:07Zpost47218: QDB - Precompiled vs. Not-Precompiled Database QueriesSebastian Kieselhttp://community.qnx.com/sf/go/post472182010-02-12T14:51:41Z2010-02-12T14:51:41ZHi 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,
SebastianSebastian Kiesel2010-02-12T14:51:41Zpost47182: Re: QNX Multimedia Streaming ApplicationSeraph Varghesehttp://community.qnx.com/sf/go/post471822010-02-11T22:10:20Z2010-02-11T22:10:20ZHi Dan
Thanks a lot for your help
Seraph
On Tue, Feb 9, 2010 at 7:49 PM, Dan Cardamore <community-noreply@qnx.com>wrote:
> 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:
>
> > 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
> >
> >
> >
> > _______________________________________________
> >
> > Development
> > http://community.qnx.com/sf/go/post46971
> >
> >
>
> Dan Cardamore
> dcardamore@qnx.com
>
>
>
>
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post46974
>
>Seraph Varghese2010-02-11T22:10:20Zpost46974: Re: QNX Multimedia Streaming ApplicationDan Cardamore(deleted)http://community.qnx.com/sf/go/post469742010-02-09T19:49:45Z2010-02-09T19:49:45ZHi 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:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post46971
>
>
Dan Cardamore
dcardamore@qnx.comDan Cardamore(deleted)2010-02-09T19:49:45Zpost46971: Re: QNX Multimedia Streaming ApplicationSeraph Varghesehttp://community.qnx.com/sf/go/post469712010-02-09T19:43:54Z2010-02-09T19:43:54ZHi 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,
SeraphSeraph Varghese2010-02-09T19:43:54Zpost46964: Re: QNX Multimedia Streaming ApplicationDan Cardamore(deleted)http://community.qnx.com/sf/go/post469642010-02-09T19:01:17Z2010-02-09T19:01:17ZHi 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:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post46963
>
>
Dan Cardamore
dcardamore@qnx.comDan Cardamore(deleted)2010-02-09T19:01:17Zpost46963: QNX Multimedia Streaming ApplicationSeraph Varghesehttp://community.qnx.com/sf/go/post469632010-02-09T18:59:50Z2010-02-09T18:59:50ZHi 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,
SeraphSeraph Varghese2010-02-09T18:59:50Zpost46894: Re: Definition of MME StorageTypePeter Martin(deleted)http://community.qnx.com/sf/go/post468942010-02-09T13:09:52Z2010-02-09T13:09:52ZOn Tue, 9 Feb 2010, Sebastian Kiesel wrote:
> 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)
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.
PeterPeter Martin(deleted)2010-02-09T13:09:52Zpost46878: Definition of MME StorageTypeSebastian Kieselhttp://community.qnx.com/sf/go/post468782010-02-09T09:13:21Z2010-02-09T09:13:21ZHi 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 Kiesel2010-02-09T09:13:21Zpost46764: Re: QDB - how to retrieve row number of result row!Dan Cardamore(deleted)http://community.qnx.com/sf/go/post467642010-02-08T12:50:40Z2010-02-08T12:50:40ZI 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:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post46621
>
>
Dan Cardamore
dcardamore@qnx.comDan Cardamore(deleted)2010-02-08T12:50:40Zpost46738: Re: QDB - how to retrieve row number of result row!Ryan Allen(deleted)http://community.qnx.com/sf/go/post467382010-02-08T02:59:46Z2010-02-08T02:59:46ZIt 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 < 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(deleted)2010-02-08T02:59:46Zpost46737: Re: QDB - how to retrieve row number of result row!Gilles Royhttp://community.qnx.com/sf/go/post467372010-02-08T02:46:58Z2010-02-08T02:46:58Z> 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?
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,
GillesGilles Roy2010-02-08T02:46:58Zpost46621: Re: QDB - how to retrieve row number of result row!Florian Becherhttp://community.qnx.com/sf/go/post466212010-02-05T07:35:54Z2010-02-05T07:35:54ZHi 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,
FlorianFlorian Becher2010-02-05T07:35:54Zpost46592: Re: QDB - how to retrieve row number of result row!Dan Cardamore(deleted)http://community.qnx.com/sf/go/post465922010-02-04T20:30:00Z2010-02-04T20:30:00ZHi 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:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post46546
>
>
Dan Cardamore
dcardamore@qnx.comDan Cardamore(deleted)2010-02-04T20:30:00Zpost46546: QDB - how to retrieve row number of result row!Florian Becherhttp://community.qnx.com/sf/go/post465462010-02-04T15:30:42Z2010-02-04T15:30:42ZHi 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,
FlorianFlorian Becher2010-02-04T15:30:42Zpost46523: Re: MME Startup - Device AutodetectionGilles Royhttp://community.qnx.com/sf/go/post465232010-02-04T13:31:47Z2010-02-04T13:31:47Z> if I understood the documentation correctly, I could disable the device
> autodetection by setting the parameter <DeviceDetection> 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?
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.
> Version: QNX Aviage Multimedia Suite 1.2
>
> General Questions:
> - 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)
> - Is there another mechanism to prevent the loss of events from the type
> 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.
> - 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?
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
> Background:
> In some scenarios the MME could be started earlier than the component reading
> /handling the MME events.
>
> Thanks a lot,
> Sebastian
>Gilles Roy2010-02-04T13:31:47Zpost46521: MME Startup - Device AutodetectionSebastian Kieselhttp://community.qnx.com/sf/go/post465212010-02-04T13:07:45Z2010-02-04T13:07:45ZHi all,
if I understood the documentation correctly, I could disable the device autodetection by setting the parameter <DeviceDetection> 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,
SebastianSebastian Kiesel2010-02-04T13:07:45Zpost45931: Re: charset of mme and qdbDan Cardamore(deleted)http://community.qnx.com/sf/go/post459312010-01-26T15:52:24Z2010-01-26T15:52:24ZQDB 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:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post45916
>
>
Dan Cardamore
dcardamore@qnx.comDan Cardamore(deleted)2010-01-26T15:52:24Zpost45916: Re: charset of mme and qdbMichael Irsiegler(deleted)http://community.qnx.com/sf/go/post459162010-01-26T12:40:13Z2010-01-26T12:40:13ZThank 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
MikeMichael Irsiegler(deleted)2010-01-26T12:40:13Zpost45823: Re: charset of mme and qdbDan Cardamore(deleted)http://community.qnx.com/sf/go/post458232010-01-23T02:01:01Z2010-01-23T02:01:01ZAll 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" <community-noreply@qnx.com
> wrote:
> 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
>
>
>
> _______________________________________________
>
> Development
> http://community.qnx.com/sf/go/post45757
>Dan Cardamore(deleted)2010-01-23T02:01:01Zpost45757: charset of mme and qdbMichael Irsiegler(deleted)http://community.qnx.com/sf/go/post457572010-01-22T13:13:59Z2010-01-22T13:13:59ZHi 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
MikeMichael Irsiegler(deleted)2010-01-22T13:13:59Z