|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 9:48 AM
post27468
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
So without audio-driver, mmexplore doesn't detect the files also?
what is the issue with audio driver?
I have started audio driver as given in the BSP build file. What could be the issue?
# ls -l /dev/snd/
total 0
#
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 9:58 AM
post27470
|
Re: Deploying and running MME suite on QNX neutrino target
On Mon, 20 Apr 2009, Venkatarao Patnaik Balivada wrote:
>Hi Peter,
>
>So without audio-driver, mmexplore doesn't detect the files also?
mmexplore (from what you've shown) seems to see the folder of the device,
so you'll need to enter that directory and see what files are listed there.
Think of it more as a non-recursive sync on demand type action to locate
media.
From a similar target I have access to:
imx31ads-2# mmexplore
-> will show the list of available cammands to you
MME Media Store eXplorer Example
h Show this information.
m <n> Select media store ID <n>.
e <n> Explore item indexed as <n>.
f "none|pass|block [<regex>]" Filter; pass or block matching regular
expression.
n <path> Explore item named <path>.
b Go up to parent item.
o <file> Output display file; 'none', 'stdout' or custom (default
stdout).
p [<n>] Play folder or file index <n>.
r Redisplay current view.
s <sort> Sort items 'none' (default), 'filename', 'name' (requires
metadata).
d <type> Set metaData type 'all', 'none' or 'name' (default).
g 0|1|2 Get flags; 1 means resolve playlists directly, 2 means
don't resolve or character convert.
q Quit.
w <n> Set window size.
Media Stores:
Rows: 1 Cols: 3
Names: +msid+name+mountpath+
00000: |1|USB|/fs/usb0|
-> select a mediastore, there is one here available.
m 1
Exploring media store ID 1.
Item '' has 9 child items.
1 D <unknown> /xxx_delete_xxx
2 D <unknown> /M4A
3 D <unknown> /Artwork
4 D <unknown> /wav
5 P <unknown> /root_srm_playlist.m3u
6 D <unknown> /wma
7 D <unknown> /srm_playlist
8 D <unknown> /mp3
9 D <unknown> /Benchmark
Collected 9 items in 0.020 seconds.
-> displays the first level entries on this mediastore. I want to find a
wav file to play, so I enter the directory with index 4.
e 4
Entering item "/wav" (offset 4).
Item '/wav' has 29 child items.
Display range (x,y) or all (a) or none (n)?
0,10
-> don't need to display all entries since I just wanted at least one
Displaying all items from start to item 10.
1 F <unknown>
/wav/CBR_NBIT_128_MONO_22050.wav
2 F <unknown> /wav/test.wav
3 F <unknown>
/wav/THX_16bit_mono_signed.wav
4 F <unknown>
/wav/THX_16bit_stereo_signed.wav
5 F <unknown>
/wav/THX_8bit_mono_unsigned.wav
6 F <unknown>
/wav/THX_8bit_stereo_unsigned.wav
7 F <unknown> /wav/THX_a-law_mono.wav
8 F <unknown> /wav/THX_a-law_stereo.wav
9 F <unknown>
/wav/THX_GSM_6.10_11.025khz_mono.wav
10 F <unknown>
/wav/THX_GSM_6.10_44.1khz_mono.wav
Collected 10 items in 0.103 seconds.
Play item index 1.
p 1
Playing folder "/wav" item 1.
You'll need to solve the io-audio configuration issue before you can get to
this point, but this should show that you are able to find the audio files
that you've put on your system.
>
>what is the issue with audio driver? I have started audio driver as given
>in the BSP build file. What could be the issue?
I haven't worked with that particular target so I'm not certain there.
It was the imx35 that you were working with based on the output from pidin?
>
># ls -l /dev/snd/
>total 0
>#
What did pidin -p io-audio mem show? Had it tried to load the...
View Full Message
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 10:37 AM
post27480
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
audio driver worked! DMA needs to be enabled, I missed it.
I am trying MME now ...
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 10:53 AM
post27484
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
mmexplore works! I was not using options correctly. Now it shows media files properly.
wave /tmp/Fools.wav, runs properly, but sound is coming out over headphone jack
I will update more tomorrow
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 10:56 AM
post27485
|
Re: Deploying and running MME suite on QNX neutrino target
On Mon, 20 Apr 2009, Venkatarao Patnaik Balivada wrote:
>Hi Peter,
>
>mmexplore works! I was not using options correctly. Now it shows media
>files properly.
>
>wave /tmp/Fools.wav, runs properly, but sound is coming out over headphone
>jack
>
>I will update more tomorrow
Glad to see/hear that you were able to get it working. Next would be to
figure out why you're not getting any items entered into the library table
so it would be mme configuration trouble shooting.
Thanks,
Peter
>
>_______________________________________________
>General
>http://community.qnx.com/sf/go/post27484
>
>
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 11:10 AM
post27489
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
Now it works actually
qdbc -dmme "select fid,msid,filename from library"
Rows: 3 Cols: 3
Names: +fid+msid+filename+
00000: |1|1||
00001: |2|1|sine_1000.mp3|
00002: |3|1|Fools.wav|
Regards,
Venkat
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 11:12 AM
post27493
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
Now the only problem I have is that, sound is coming out of headphone jack.
I checked volume and mute, it is fine.
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/20/2009 11:36 AM
post27500
|
Re: Deploying and running MME suite on QNX neutrino target
On Mon, 20 Apr 2009, Venkatarao Patnaik Balivada wrote:
>Hi Peter,
>
>Now the only problem I have is that, sound is coming out of headphone jack.
Did the same thing happen with the wave utility playing direct to io-audio?
Let us know if you have other mme questions.
Thanks,
Peter
>
>I checked volume and mute, it is fine.
>
>_______________________________________________
>General
>http://community.qnx.com/sf/go/post27493
>
>
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 6:27 AM
post27572
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
Yes. When I run wave utility, it plays but sound doesn't come out
# wave /tmp/Fools.wav
SampleRate = 44100, Channels = 2, SampleBits = 16
Format Signed 16-bit Little Endian
Frag Size 3760
Rate 44100
Mixer Pcm Group [PCM Subchannel]
Volume Now at 100:100
Volume Now at 100:100
Volume Now at 100:100
#
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 7:25 AM
post27575
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
Looks like mmecli is not playing the file, it returns errno that is != 0.
# mmecli play
(rc=-1,errno=61) Playing from tracksession fid/bid = 0. Execution Time=0.024
# mmecli trksession_get_info
(rc=0,errno=0) Track Session ID: 13, Current Track: 1, Total Tracks: 3. Execution Time=0.019
#
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 7:29 AM
post27577
|
Re: Deploying and running MME suite on QNX neutrino target
Whenever you get an MM error it is best to get the slog output. Type 'sloginfo' on the command line to get that. This
should give the MME errors. Also, it may be best to repeat this with more debug info:
mmecli set_debug 5 0
# repeat the procedure that caused the error
sloginfo
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 7:54 AM
post27580
|
Re: Deploying and running MME suite on QNX neutrino target
Hi,
I was actually looking for this, set_debug arguments are verbose, debug.
What does these both options do? How to set these options? Where do I find documentation for this? I don't find full
details in mme_utils_ref.pdf.
Whenever you get an MM error it is best to get the slog output. Type 'sloginfo' on the command line to get that. This
should give the MME errors. Also, it may be best to repeat this with more debug info:
mmecli set_debug 5 0
# repeat the procedure that caused the error
sloginfo
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 8:43 AM
post27587
|
Re: Deploying and running MME suite on QNX neutrino target
All mmecli commands are the MME C API¹s. It is a 1:1 mapping pretty much.
Just add ³mme_² to the front of the command and look it up in the API
reference.
Dan
On 21/04/09 7:54 AM, "Venkatarao Patnaik Balivada"
<community-noreply@qnx.com> wrote:
> Hi,
>
> I was actually looking for this, set_debug arguments are verbose, debug.
> What does these both options do? How to set these options? Where do I find
> documentation for this? I don't find full details in mme_utils_ref.pdf.
>
>
>
> Whenever you get an MM error it is best to get the slog output. Type
> 'sloginfo' on the command line to get that. This
> should give the MME errors. Also, it may be best to repeat this with more
> debug info:
>
> mmecli set_debug 5 0
> # repeat the procedure that caused the error
> sloginfo
>
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post27580
>
>
--
Dan Cardamore dcardamore@qnx.com
QNX Multimedia http://community.qnx.com/sf/projects/multimedia
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 9:16 AM
post27598
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Dan,
On mmecli set_debug verbose debug. I didn't understand completely
verbose=5, what is it? is it debug level?
debug=0, what is this option?
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 9:23 AM
post27604
|
Re: Deploying and running MME suite on QNX neutrino target
On Tue, 21 Apr 2009, Venkatarao Patnaik Balivada wrote:
>Hi Dan,
>
>On mmecli set_debug verbose debug. I didn't understand completely
>
>verbose=5, what is it? is it debug level?
>debug=0, what is this option?
From the docs on the matching mme API:
"The function mme_set_debug() sets the MME verbosity and debug levels. It
can be called at any time. Debug and verbosity levels range from 0 (zero)
to 10, with 0 meaning turned off and 10 providing the most detailed
information. These levels are equivalent to the mme start up options -v and
-D. See also mme in the MME Utilities Reference.
When debugging problems, use a higher verbosity level to write more
detailed information to the log. The debug setting is usually used only by
QNX developers."
This is used to adjust the levels currently set for the mme, so you can run
without any verbosity but increase it when things are causing problems for
you to collect more information.
Peter
>
>_______________________________________________
>General
>http://community.qnx.com/sf/go/post27598
>
>
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 8:14 AM
post27581
|
Re: Deploying and running MME suite on QNX neutrino target
Hi,
See the log below.
Looks like it is not able to create graph. What could be the problem?
# mmecli play_file 1 Fools.wav
(rc=-1,errno=9) Playing file 'Fools.wav' from msid 1. Execution Time=0.022
#
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 8:36 AM
post27584
|
Re: Deploying and running MME suite on QNX neutrino target
I don't see the log.
Dan
----- Original Message -----
From: Venkatarao Patnaik Balivada <community-noreply@qnx.com>
To: general-multimedia <post27581@community.qnx.com>
Sent: Tue Apr 21 08:14:53 2009
Subject: Re: Deploying and running MME suite on QNX neutrino target
Hi,
See the log below.
Looks like it is not able to create graph. What could be the problem?
# mmecli play_file 1 Fools.wav
(rc=-1,errno=9) Playing file 'Fools.wav' from msid 1. Execution Time=0.022
#
_______________________________________________
General
http://community.qnx.com/sf/go/post27581
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 8:38 AM
post27585
|
Re: Deploying and running MME suite on QNX neutrino target
Sorry, missed
Jan 01 01:36:57 5 27 0 MME:mmpl_connect(236): Thread 11 connecting to database.
Jan 01 01:36:57 5 27 0 MME:mmpl_connect(247): Thread 11 connected to database.
Jan 01 01:36:57 5 27 0 MME:ocb_calloc(70): Connection to MME opened (ocb 474580).
Jan 01 01:36:57 5 27 0 MME:io_handle_msg(613): RCV -> MME_IOMSG_TYPE_PLAY_FILE: "msid=1, filename=Fools.wav"
Jan 01 01:36:57 2 27 0 MME:db_cleanup_suspend(492): Unable to suspend clean-up thread: Bad file descriptor (9)
.
Jan 01 01:36:57 5 27 0 MME:mme_ms_lock(541): Lock call for media store 1 of type playback.
Jan 01 01:36:57 2 27 0 MME:_getgraph(3405): Could not create graph. device=/dev/io-media/graphs/trackplayer,
name=default
Jan 01 01:36:57 5 27 0 MME:mme_ms_unlock(702): Unlock call for media store 1 of type playback.
Jan 01 01:36:57 2 27 0 MME:db_cleanup_resume(516): Unable to resume clean-up thread: Bad file descriptor (9).
Jan 01 01:36:57 2 27 0 MME:_play(3073): Could not create a graph
Jan 01 01:36:57 2 27 0 MME:cc_playfile(131): Send Error for request=3, errno 9
Jan 01 01:36:57 5 27 0 MME:mmpl_disconnect(440): Thread 11 disconnecting from database.
Jan 01 01:36:57 5 27 0 MME:ocb_free(128): Connection to MME closed (ocb 474580).
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 8:44 AM
post27588
|
Re: Deploying and running MME suite on QNX neutrino target
It looks like you're not running io-media-generic. Before you start the mme, you will need to start io-media-generic:
io-media-generic
using -DD will help with debugging in the slog.
io-media-generic -DD
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 9:01 AM
post27593
|
Re: Deploying and running MME suite on QNX neutrino target
On Tue, 21 Apr 2009, Adrian Boak wrote:
>It looks like you're not running io-media-generic. Before you start the
>mme, you will need to start io-media-generic:
>
>io-media-generic
>
>using -DD will help with debugging in the slog.
>
>io-media-generic -DD
Similar to using the wav file to check that io-audio was setup correctly
you should have testapp-cmdline (io-media test tool) that will allow you to
attach and play a specific file prior to the mme getting involved.
ie:
bsamanda-2# testapp-cmdline -Dfile="/media/drive/wav/test.wav"
000.017 Created graph 'trackplayer/cmdlinetest'
000.032 Attached audio output 'snd:/dev/snd/pcmPreferredp', ID=0
> AttachInput %file 1
003.574 Calling iom_attach_input( "/media/drive/wav/test.wav", 1 )
004.136 Event 4 (STATUS), 32 bytes: trk=1, state=1, speed=1000
> SetTimeNotification 1000
008.297 Calling iom_set_time_notification( 1000 )
> play
009.302 Calling iom_play()
009.327 Event 4 (STATUS), 32 bytes: trk=1, state=3, speed=1000
009.649 Event 4 (STATUS), 32 bytes: trk=1, state=4, speed=1000
009.682 Event 14 (METADATA), 40 bytes: trk=0, cur=0
Track id 1, audio info: codec='RAWA', bitrate=705600, 2ch 22050Hz, 0 images
Have metadata, 0 strings
010.634 Event 2 (TIME), 40 bytes: trk=1, pos=1002/13453,
prefetch=5927/12000
011.600 Event 2 (TIME), 40 bytes: trk=1, pos=2006/13453,
prefetch=5528/12000
012.590 Event 2 (TIME), 40 bytes: trk=1, pos=3007/13453,
prefetch=5128/12000
013.597 Event 2 (TIME), 40 bytes: trk=1, pos=4010/13453,
prefetch=4328/12000
if you type help at the prompt you will see the list of available commands
(its similar to mmecli in that it will allow you to exercise your io-media
setup without involving the mme to isolate configuration issues)
> help
Control commands:
quit exit from the program
shell [cmd] execute a shell or a shell command
echo [text] print out a line of text
list list all available API functions
help explain all commands
sleep n delay for n milliseconds
expect n ev... wait for an event for up to n ms
file file read commands from a file
log file open a log file
nolog close a log file
setdelay delay set delay between commands from a file
trap on|off abort processing the file if a command fails
clock on|off switch the logging of current time on or off
repeat n repeat a block script n times
loop end of a repeat block
if ok|error start a conditional block
ifdef name start a conditional block
ifndef name start a conditional block
else start the 'else' part of a conditional block
fi end of a conditional block
local name val define a local variable
global name val define a global variable
Commands to call io-media API:
AttachInput(su) AttachOutputToGraph(s) AttachOutput(su)
DetachInput() DetachOutputFromGraph(u) DetachOutput(u)
GetAngleInfo() GetAudioInfo(u) GetChapterInfo(uu)
GetChapterTime() GetDeviceInfo() GetErrorInfo()
GetImageUrl(u) GetResource(s) GetStatus()
GetSubtitleInfo(u) GetTime() GetTitleInfo(u)
GetTrackInfo(*) GetTransition() GetVolume(u)
GetVideoInfo() GraphCapabilities(uu) JumpFrames(i)
LoadImage(uu) Play() SaveImage(usu)
SeekChapter(uuu) SeekTime(uu) SeekTitle(uu)
SendCommand(s) SetAngle(uu) SetAudio(uu)
SetDevice(s) SetInputDevice(s) SetMetadata(ssssss)
SetOutputFile(ss) SetPlaySpeed(i) SetResource(ss*)
SetSubtitle(uu) SetTimeNotification(u) SetTransition(uiu)
SetVolume(uuuu) Stop() GetTimeShiftingExtents()
GetBufferingStatus() ...
View Full Message
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 9:02 AM
post27594
|
Re: Deploying and running MME suite on QNX neutrino target
Hi,
Now it seems to have worked! Thanks. I started io-media-generic earlier also, probably there was some error.
Earlier I tried first "mmecli play" and then "mmecli play_file 1 Fools.wav"
May be that was the issue.
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 7:40 AM
post27578
|
Re: Deploying and running MME suite on QNX neutrino target
Hi Peter,
Actually my aim is to get my H264 decoder plugin integrated with MME and run on QNX neutrino.
1) I want to run the raw xxxx.264 file without MP4 wrapper. From the config guide, I find that I can specify the filter/
plugin name in the io-media-xxxx.cfg file. My question is how to skip the MP4 parser and enable the filter directly? Do
I need to specify decoder filter as a parser in the io-media-xxx.cfg file?
2) I want to create a session file based, and select files to play, to skip the synchronization?
mmecli newtrksession f <what should be the statement?>
mmecli settrksession <id of above session>
mmecli play <how to find set fid>?
OR should I run
mmecli play_file 1 Fools.wav?
Doesn't seem to work?
# mmecli play_file 1 Fools.wav
(rc=-1,errno=9) Playing file 'Fools.wav' from msid 1. Execution Time=0.018
#
3) If 2) works properly, I can try 1).
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 8:48 AM
post27589
|
Re: Deploying and running MME suite on QNX neutrino target
> Hi Peter,
>
> Actually my aim is to get my H264 decoder plugin integrated with MME and run
> on QNX neutrino.
>
> 1) I want to run the raw xxxx.264 file without MP4 wrapper. From the config
> guide, I find that I can specify the filter/plugin name in the io-media-xxxx.
> cfg file. My question is how to skip the MP4 parser and enable the filter
> directly? Do I need to specify decoder filter as a parser in the io-media-xxx.
> cfg file?
>
> 2) I want to create a session file based, and select files to play, to skip
> the synchronization?
> mmecli newtrksession f <what should be the statement?>
> mmecli settrksession <id of above session>
> mmecli play <how to find set fid>?
> OR should I run
> mmecli play_file 1 Fools.wav?
>
> Doesn't seem to work?
> # mmecli play_file 1 Fools.wav
> (rc=-1,errno=9) Playing file 'Fools.wav' from msid 1. Execution Time=0.018
> #
>
> 3) If 2) works properly, I can try 1).
Option 1 above will require more work on your side. Parsers perform a number of functions in our graphs. At the very
least you would need to create a "simple" parser that does nothing but claim the fail as one it can parse and then pass
the data on. This would only be a first step however, as parsers also control trickplay and other functionality.
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 9:42 AM
post27611
|
Re: Deploying and running MME suite on QNX neutrino target
Hi,
How does the graph works for MP3 files? I suppose the MP3 decoder filter works directly on raw MP3 bitstream. In this
case what does your "mpega_parser" do? Does it strip off the MP3 frame headers and pass only raw frame-data to the
decoder filter?
|
|
|
|
Re: Deploying and running MME suite on QNX neutrino target
|
04/21/2009 7:28 AM
post27576
|
Re: Deploying and running MME suite on QNX neutrino target
My guess is that your speakers aren't hooked up right, or that you have the volume down low, or muted.
Play with the mix_ctl application that can change your software mixer settings. Also try out the 'mmecli setvolume 100'
command. Then make sure that your speakers are working and that you have it plugged into the right jack.
|
|
|
|