Venkatarao Patnaik Balivada(deleted)
|
Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/22/2009 9:51 AM
post27733
|
Running my h264 decoder with MME
Hi Peter,
I have tried running h264 decoder filter with MME. It is not able to load the DLL(it is there in the DLL dir). What is
the issue?
*********************
io-media-local.cfg, I have added following lines
format {
url = "*.264"
parser = "h264_decoder"
}
keepdll {
name = "h264_decoder"
optional = yes
}
****************
I have started MME with folowing commands
io-fs-media -d tmp -cpages=4 -cbundles=0
qdb -c /db/qdb.cfg -v -Otempstore=/fs/tmpfs -Rset
mcd /tmp/stage/etc/mme/mcd.conf
io-media-generic -DD -c /tmp/stage/etc/io-media-local.cfg -M mmf,dlldir=/tmp/stage/armle/lib/dll/mmedia
mme-generic -c /tmp/stage/etc/mme.conf
*****************************
See the error log below
Jan 01 00:39:34 5 27 0 MME:mmpl_connect(236): Thread 11 connecting to database.
Jan 01 00:39:34 5 27 0 MME:mmpl_connect(247): Thread 11 connected to database.
Jan 01 00:39:34 5 27 0 MME:ocb_calloc(70): Connection to MME opened (ocb 2bc580).
Jan 01 00:39:34 5 27 0 MME:io_handle_msg(613): RCV -> MME_IOMSG_TYPE_PLAY_FILE: "msid=1, filename=BA_MW_D.264"
Jan 01 00:39:34 5 27 0 MME:mme_ms_unlock(702): Unlock call for media store 1 of type playback.
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd STOP
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd STOP returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0
Jan 01 00:39:34 5 27 0 MME:_suspend_sync(1124): Suspending sync: ccid 1, msid 1
Jan 01 00:39:34 5 27 0 MME:mme_ms_lock(541): Lock call for media store 1 of type playback.
Jan 01 00:39:34 5 27 0 MME:_getgraph(3373): Detaching input from graph on controlcontext 1
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETSPEED
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd SETSPEED returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHINPUT
Jan 01 00:39:34 5 27 0 MME:cleanup_thread(262): Got pulse with code 0 and index 0.
Jan 01 00:39:34 6 20 1 io-media-generic/mmf: URL '/media/drive/BA_MW_D.264' matches pattern '*.264'
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Tag 'format' has 0 kids
Jan 01 00:39:34 6 20 1 io-media-generic/mmf: Setting long resource 'StreamerStickyError' (value='1')
Jan 01 00:39:34 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no video device
specified.
Jan 01 00:39:34 6 20 1 io-media-generic/mmf: Setting long resource 'TrickPlayVolumeFade' (value='10')
Jan 01 00:39:34 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0.
Jan 01 00:39:34 4 20 1 io-media-generic/trackplayer: Couldn't load the h264_decoder filter (based on the
parser tag)
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Hint mode allows a filter search for this input
Jan 01 00:39:36 6 20 1 io-media-generic/mmf: Setting long resource 'AVSyncDelay' (value='0')
Jan 01 00:39:36 7 20 1 io-media-generic/mmf: Resource 'AVSyncDelay' is not supported (but optional)
Jan 01 00:39:36 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no device
specified.
Jan 01 00:39:36 7 20 ...
View Full Message
|
|
|
Wojtek Lerch
|
RE: Running my h264 decoder with MME
|
Wojtek Lerch
04/22/2009 10:18 AM
post27741
|
RE: Running my h264 decoder with MME
What happens if you remove the "optional=yes" line?
-----Original Message-----
From: Venkatarao Patnaik Balivada [mailto:community-noreply@qnx.com]
Sent: April 22, 2009 9:52 AM
To: general-multimedia
Subject: Running my h264 decoder with MME
Hi Peter,
I have tried running h264 decoder filter with MME. It is not able to
load the DLL(it is there in the DLL dir). What is the issue?
*********************
io-media-local.cfg, I have added following lines
format {
url = "*.264"
parser = "h264_decoder"
}
keepdll {
name = "h264_decoder"
optional = yes
}
****************
I have started MME with folowing commands
io-fs-media -d tmp -cpages=4 -cbundles=0
qdb -c /db/qdb.cfg -v -Otempstore=/fs/tmpfs -Rset
mcd /tmp/stage/etc/mme/mcd.conf
io-media-generic -DD -c /tmp/stage/etc/io-media-local.cfg -M
mmf,dlldir=/tmp/stage/armle/lib/dll/mmedia
mme-generic -c /tmp/stage/etc/mme.conf
*****************************
See the error log below
Jan 01 00:39:34 5 27 0 MME:mmpl_connect(236): Thread 11
connecting to database.
Jan 01 00:39:34 5 27 0 MME:mmpl_connect(247): Thread 11
connected to database.
Jan 01 00:39:34 5 27 0 MME:ocb_calloc(70): Connection to MME
opened (ocb 2bc580).
Jan 01 00:39:34 5 27 0 MME:io_handle_msg(613): RCV ->
MME_IOMSG_TYPE_PLAY_FILE: "msid=1, filename=BA_MW_D.264"
Jan 01 00:39:34 5 27 0 MME:mme_ms_unlock(702): Unlock call for
media store 1 of type playback.
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling
graph handler for dcmd STOP
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd STOP
returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling
graph handler for dcmd GETSTATUS
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd
GETSTATUS returning 0
Jan 01 00:39:34 5 27 0 MME:_suspend_sync(1124): Suspending
sync: ccid 1, msid 1
Jan 01 00:39:34 5 27 0 MME:mme_ms_lock(541): Lock call for
media store 1 of type playback.
Jan 01 00:39:34 5 27 0 MME:_getgraph(3373): Detaching input
from graph on controlcontext 1
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling
graph handler for dcmd SETSPEED
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd
SETSPEED returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling
graph handler for dcmd GETSTATUS
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd
GETSTATUS returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling
graph handler for dcmd SETNOTIFICATION
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Dcmd
SETNOTIFICATION returning 0
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Calling
graph handler for dcmd ATTACHINPUT
Jan 01 00:39:34 5 27 0 MME:cleanup_thread(262): Got pulse with
code 0 and index 0.
Jan 01 00:39:34 6 20 1 io-media-generic/mmf: URL
'/media/drive/BA_MW_D.264' matches pattern '*.264'
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Tag
'format' has 0 kids
Jan 01 00:39:34 6 20 1 io-media-generic/mmf: Setting long
resource 'StreamerStickyError' (value='1')
Jan 01 00:39:34 5 20 1 io-media-generic/trackplayer: Skipping
video subgraph because there is no video device specified.
Jan 01 00:39:34 6 20 1 io-media-generic/mmf: Setting long
resource 'TrickPlayVolumeFade' (value='10')
Jan 01 00:39:34 5 20 1 io-media-generic/mmf: Configuring the
queue for -1 bytes, lw = 0, hw = 0.
Jan 01 00:39:34 4 20 1 io-media-generic/trackplayer: Couldn't
load the h264_decoder filter (based on the parser tag)
Jan 01 00:39:34 7 20 1 io-media-generic/trackplayer: Hint mode
allows a filter search for this input
Jan 01 00:39:36 6 20 1 io-media-generic/mmf: Setting long
resource...
View Full Message
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: RE: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/22/2009 10:44 AM
post27751
|
Re: RE: Running my h264 decoder with MME
Hi Peter,
Still doesn't work.
There could be issue with some interface function problem? Because I specified filter as "wav_parser" for *.264, still
it gives error saying couldn't load the wav_parser filter. Before loading the filter, does it try to match with input
channel of the filter, where it is failing.?
|
|
|
Wojtek Lerch
|
Re: Running my h264 decoder with MME
|
Wojtek Lerch
04/22/2009 11:24 AM
post27757
|
Re: Running my h264 decoder with MME
Venkatarao Patnaik Balivada wrote:
> Still doesn't work.
I didn't expect removing the "optional" line to make it work; I was
hoping it would help us narrow down the nature of the failure.
The "Couldn't load the h264_decoder filter..." message is not entirely
accurate -- all it really means that a library function that is supposed
to load the named filter and connect it to the output of the previous
filter in the graph has failed. There are several possible reasons it
could fail:
#1 The named filter DLL does not exist
#2 The DLL exists but failed to load
#3 The DLL could be loaded but turned out incompatible with the Addon
Interfaces (AOI) library
#4 The DLL was recognized by the AOI library but turned out not to
implement enough interfaces to be recognized as an MMF filter
#5 The DLL is a filter but the creation of a filter instance fails for
some reason
#6 The filter was actually created but then it rejected the output from
the previous filter (io-media wants the RateStream() or RateFormat()
function to return a rating of at least 20).
Without the "optional=yes" line, io-media will fail to start up unless
the DLL is loaded and confirmed to be a correct AOI DLL. If removing
the line didn't change the error messages that you're seeing, that means
that the problem must be #4, #5, or #6. You can narrow it down by
adding some debug messages to the interface functions in your filter.
In particular, if your Create() function never gets called, that would
mean #4. If you tell me which of your functions get called and which
ones don't, that should give me a good idea of what the problem is.
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/22/2009 11:38 AM
post27762
|
Re: Running my h264 decoder with MME
Thanks Peter. I will try and let you know tomorrow. Now I have got some idea how I can put debug messages, found in
aoi_errlog.h.
|
|
|
Wojtek Lerch
|
Re: Running my h264 decoder with MME
|
Wojtek Lerch
04/22/2009 12:00 PM
post27764
|
Re: Running my h264 decoder with MME
Venkatarao Patnaik Balivada wrote:
> Thanks Peter. I will try and let you know tomorrow. Now I have got some idea how I can put debug messages, found in
aoi_errlog.h.
Keep in mind that if you use the AO_LOG() macro, AO_LOG_DEBUG1 and
AO_LOG_DEBUG2 level messages are completely #ifdefed out by default --
you can switch them on by #defining AO_LOGLVL before you include
<aoi/aoi_errlog.h>. (Or you can just call AoLog() directly.)
Wojtek (not Peter)
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/23/2009 7:54 AM
post27858
|
Re: Running my h264 decoder with MME
I feel it is better to try with MP4 file, otherwise I need to write some stubs.
I am trying with MP4 file which has H264 video content.
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/23/2009 9:16 AM
post27871
|
Re: Running my h264 decoder with MME
Hi Peter,
I could play the H.264 mp4 file with VLC media player.
Does the mp4_parser handle H264 AVC1 format? I debugged the parser and it fails in the following condition as has_esds
field found to be zero. I don't know much about MP4 format.
if (fu->file_info->tracks[i].has_esds && esds->has_type4) {
mp4v_type = esds->descr_type_4.object_type_id;
AoLog(AO_LOG_DEBUG1,"mp4_parser->SetChannelParameters() mp4v_type = %d", mp4v_type);
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/24/2009 4:47 AM
post27957
|
Re: Running my h264 decoder with MME
Peter,
Figured out that MP4 file has quicktime mov format, I tried another mp4 file, it seems to detect it properly. But to
enable video stream to work, I need to specify output device.
Can you give some quick help, what all required to do to enable video output device.
Do I need to include in mme_data.sql?
I will try first include display device in BSP.
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/24/2009 7:14 AM
post27969
|
Re: Running my h264 decoder with MME
Hi Peter,
I have added display driver. I modified mme_data.sql to add following line
INSERT INTO outputdevices(type, permanent, name, devicepath) VALUES(1, 1, 'defaultoutput2', 'gf:0000,0000,0');
device entry found from
# ls -l /dev/io-display/
total 0
crw-rw---- 1 0 0 0, 1 Jan 01 00:59 0000,0000,0
Then I tried to decode MP4 file, it still gives error saying "no device specified".
Jan 01 00:56:36 6 20 1 io-media-generic/mmf: URL '/media/drive/a1vts_750_001.mp4' matches pattern '*.mp4'
Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Tag 'format' has 0 kids
Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource 'StreamerStickyError' (value='1')
Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no video device
specified.
Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource 'TrickPlayVolumeFade' (value='10')
Jan 01 00:56:36 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0.
Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() num_vid_tracks = 1,
num_aud_tracks = 1
Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() fourcc = mp4v
Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() fourcc = mp4a
Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() mp4v_type = 32
Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max sample size = 18429.
Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max sample size = 403.
Jan 01 00:56:36 6 20 1 io-media-generic/trackplayer: Loaded the mp4_parser filter based on the parser tag
Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource 'AVSyncDelay' (value='0')
Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no device
specified.
Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: No video stream found.
Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Found audio stream.
|
|
|
Adrian Boak(deleted)
|
Re: Running my h264 decoder with MME
|
Adrian Boak(deleted)
04/24/2009 8:28 AM
post27975
|
Re: Running my h264 decoder with MME
> Hi Peter,
>
> I have added display driver. I modified mme_data.sql to add following line
>
> INSERT INTO outputdevices(type, permanent, name, devicepath) VALUES(1, 1,
> 'defaultoutput2', 'gf:0000,0000,0');
>
> device entry found from
> # ls -l /dev/io-display/
> total 0
> crw-rw---- 1 0 0 0, 1 Jan 01 00:59 0000,0000,0
>
> Then I tried to decode MP4 file, it still gives error saying "no device
> specified".
>
> Jan 01 00:56:36 6 20 1 io-media-generic/mmf: URL '/media/drive/
> a1vts_750_001.mp4' matches pattern '*.mp4'
> Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Tag 'format'
> has 0 kids
> Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource
> 'StreamerStickyError' (value='1')
> Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping video
> subgraph because there is no video device specified.
> Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource
> 'TrickPlayVolumeFade' (value='10')
> Jan 01 00:56:36 5 20 1 io-media-generic/mmf: Configuring the queue
> for -1 bytes, lw = 0, hw = 0.
> Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> SetChannelParameters() num_vid_tracks = 1, num_aud_tracks = 1
> Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> SetChannelParameters() fourcc = mp4v
> Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> SetChannelParameters() fourcc = mp4a
> Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> SetChannelParameters() mp4v_type = 32
> Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max sample
> size = 18429.
> Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max sample
> size = 403.
> Jan 01 00:56:36 6 20 1 io-media-generic/trackplayer: Loaded the
> mp4_parser filter based on the parser tag
> Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource
> 'AVSyncDelay' (value='0')
> Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping video
> subgraph because there is no device specified.
> Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: No video stream
> found.
> Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Found audio
> stream.
It's still not picking up your graphics device. There is another entry to modify in the mme_data.sql file:
INSERT INTO zoneoutputs(zoneid, outputdeviceid) SELECT 1, outputdeviceid FROM outputdevices WHERE name='defaultoutput2';
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/24/2009 9:10 AM
post27982
|
Re: Running my h264 decoder with MME
Still it doesn't work. device entry need to be non-zero ids? Is that a problem?
> > Hi Peter,
> >
> > I have added display driver. I modified mme_data.sql to add following line
> >
> > INSERT INTO outputdevices(type, permanent, name, devicepath) VALUES(1, 1,
> > 'defaultoutput2', 'gf:0000,0000,0');
> >
> > device entry found from
> > # ls -l /dev/io-display/
> > total 0
> > crw-rw---- 1 0 0 0, 1 Jan 01 00:59 0000,0000,0
> >
> > Then I tried to decode MP4 file, it still gives error saying "no device
> > specified".
> >
> > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: URL '/media/drive/
> > a1vts_750_001.mp4' matches pattern '*.mp4'
> > Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Tag 'format'
>
> > has 0 kids
> > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource
>
> > 'StreamerStickyError' (value='1')
> > Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping
> video
> > subgraph because there is no video device specified.
> > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource
>
> > 'TrickPlayVolumeFade' (value='10')
> > Jan 01 00:56:36 5 20 1 io-media-generic/mmf: Configuring the queue
>
> > for -1 bytes, lw = 0, hw = 0.
> > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > SetChannelParameters() num_vid_tracks = 1, num_aud_tracks = 1
> > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > SetChannelParameters() fourcc = mp4v
> > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > SetChannelParameters() fourcc = mp4a
> > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > SetChannelParameters() mp4v_type = 32
> > Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max sample
>
> > size = 18429.
> > Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max sample
>
> > size = 403.
> > Jan 01 00:56:36 6 20 1 io-media-generic/trackplayer: Loaded the
> > mp4_parser filter based on the parser tag
> > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long resource
>
> > 'AVSyncDelay' (value='0')
> > Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping
> video
> > subgraph because there is no device specified.
> > Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: No video
> stream
> > found.
> > Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Found audio
> > stream.
>
>
> It's still not picking up your graphics device. There is another entry to
> modify in the mme_data.sql file:
>
> INSERT INTO zoneoutputs(zoneid, outputdeviceid) SELECT 1, outputdeviceid FROM
> outputdevices WHERE name='defaultoutput2';
|
|
|
Adrian Boak(deleted)
|
Re: Running my h264 decoder with MME
|
Adrian Boak(deleted)
04/24/2009 9:38 AM
post27991
|
Re: Running my h264 decoder with MME
> Still it doesn't work. device entry need to be non-zero ids? Is that a problem
> ?
>
> > > Hi Peter,
> > >
> > > I have added display driver. I modified mme_data.sql to add following line
>
> > >
> > > INSERT INTO outputdevices(type, permanent, name, devicepath) VALUES(1, 1,
>
> > > 'defaultoutput2', 'gf:0000,0000,0');
> > >
> > > device entry found from
> > > # ls -l /dev/io-display/
> > > total 0
> > > crw-rw---- 1 0 0 0, 1 Jan 01 00:59 0000,0000,0
> > >
> > > Then I tried to decode MP4 file, it still gives error saying "no device
> > > specified".
> > >
> > > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: URL '/media/drive/
> > > a1vts_750_001.mp4' matches pattern '*.mp4'
> > > Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Tag
> 'format'
> >
> > > has 0 kids
> > > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long
> resource
> >
> > > 'StreamerStickyError' (value='1')
> > > Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping
> > video
> > > subgraph because there is no video device specified.
> > > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long
> resource
> >
> > > 'TrickPlayVolumeFade' (value='10')
> > > Jan 01 00:56:36 5 20 1 io-media-generic/mmf: Configuring the
> queue
> >
> > > for -1 bytes, lw = 0, hw = 0.
> > > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > > SetChannelParameters() num_vid_tracks = 1, num_aud_tracks = 1
> > > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > > SetChannelParameters() fourcc = mp4v
> > > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > > SetChannelParameters() fourcc = mp4a
> > > Jan 01 00:56:36 6 20 1 io-media-generic/aoi: mp4_parser->
> > > SetChannelParameters() mp4v_type = 32
> > > Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max
> sample
> >
> > > size = 18429.
> > > Jan 01 00:56:36 5 20 1 io-media-generic/aoi: MP4Parser: max
> sample
> >
> > > size = 403.
> > > Jan 01 00:56:36 6 20 1 io-media-generic/trackplayer: Loaded the
>
> > > mp4_parser filter based on the parser tag
> > > Jan 01 00:56:36 6 20 1 io-media-generic/mmf: Setting long
> resource
> >
> > > 'AVSyncDelay' (value='0')
> > > Jan 01 00:56:36 5 20 1 io-media-generic/trackplayer: Skipping
> > video
> > > subgraph because there is no device specified.
> > > Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: No video
> > stream
> > > found.
> > > Jan 01 00:56:36 7 20 1 io-media-generic/trackplayer: Found audio
>
> > > stream.
> >
> >
> > It's still not picking up your graphics device. There is another entry to
> > modify in the mme_data.sql file:
> >
> > INSERT INTO zoneoutputs(zoneid, outputdeviceid) SELECT 1, outputdeviceid
> FROM
> > outputdevices WHERE name='defaultoutput2';
>
>
Is the entry iin your /dev/io-display directory actually 0000,0000,0? Can you send an updated slog from the newest
failure, it might give us some more clues.
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/24/2009 9:46 AM
post27994
|
Re: Running my h264 decoder with MME
Yes you are right.
See the slog below
Jan 01 00:01:38 7 20 1 io-media-generic: open('graphs/trackplayer/default')
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph create function
Jan 01 00:01:38 6 20 1 io-media-generic/trackplayer: Created graph instance 'default'
Jan 01 00:01:38 6 20 1 io-media-generic: open( 'graphs/trackplayer/default' ): success
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETTRANSITION
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd SETTRANSITION returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd CAPABILITIES
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd CAPABILITIES returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHOUTPUT
Jan 01 00:01:38 5 20 1 io-media-generic/mmf: writer hint snd:* found
Jan 01 00:01:38 6 20 1 io-media-generic/mmf: URL 'snd:/dev/snd/pcmPreferredp' matches pattern 'snd:*'
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd ATTACHOUTPUT returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETVOLUME
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd SETVOLUME returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETSPEED
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd SETSPEED returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
Jan 01 00:01:38 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHINPUT
Jan 01 00:01:40 6 20 1 io-media-generic/mmf: URL '/media/drive/a1vts_750_001.mp4' matches pattern '*.mp4'
Jan 01 00:01:40 7 20 1 io-media-generic/trackplayer: Tag 'format' has 0 kids
Jan 01 00:01:40 6 20 1 io-media-generic/mmf: Setting long resource 'StreamerStickyError' (value='1')
Jan 01 00:01:40 5 20 1 io-media-generic/trackplayer: Skipping video subgraph because there is no video device
specified.
Jan 01 00:01:40 6 20 1 io-media-generic/mmf: Setting long resource 'TrickPlayVolumeFade' (value='10')
Jan 01 00:01:40 5 20 1 io-media-generic/mmf: Configuring the queue for -1 bytes, lw = 0, hw = 0.
Jan 01 00:01:40 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() num_vid_tracks = 1,
num_aud_tracks = 1
Jan 01 00:01:40 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() fourcc = mp4v
Jan 01 00:01:40 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() fourcc = mp4a
Jan 01 00:01:40 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() mp4v_type = 32
Jan 01 00:01:40 5 20 1 io-media-generic/aoi: MP4Parser: max sample size = 18429.
Jan 01 00:01:40 5 20 1 io-media-generic/aoi: MP4Parser: max sample size = 403.
Jan 01 00:01:40 6 20 1 io-media-generic/trackplayer: Loaded the mp4_parser filter based on the parser tag
Jan 01 00:01:40 6 20 1...
View Full Message
|
|
|
Adrian Boak(deleted)
|
Re: Running my h264 decoder with MME
|
Adrian Boak(deleted)
04/24/2009 9:53 AM
post27996
|
Re: Running my h264 decoder with MME
The system is trying to hook up your decoder to the audio stream. Can you take the modifications to the config file out
and change the Rating function in your h264 decoder to accept the AVC1 fourcc. That should be sufficient to fix this
problem (assuming you're using the mp4 parser and using h264 mp4 files).
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/24/2009 10:07 AM
post28001
|
Re: Running my h264 decoder with MME
I understand that. But it is not finding video stream before that, because it says "no device specified".
|
|
|
Adrian Boak(deleted)
|
Re: Running my h264 decoder with MME
|
Adrian Boak(deleted)
04/24/2009 10:29 AM
post28009
|
Re: Running my h264 decoder with MME
After you updated your mme_data.sql file, did you delete your database? You'll need to do that so that your changes can
be used.
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/27/2009 8:27 AM
post28116
|
Re: Running my h264 decoder with MME
Hi Andrian Boak,
Thanks. It worked. I think I have come to a stage where I can debug my decoder now.
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/28/2009 9:38 AM
post28227
|
Re: Running my h264 decoder with MME
Hi,
Now I am getting problem with gf_writer filter. It fails in CreateGFSurfs(), fails in this condition, what could be the
problem?
if (gf_layer_update(f->user->layer, 0) != GF_ERR_OK) {
AO_LOG(AO_LOG_ERROR,"failed to update layer.");
return MM_EINVAL;
}
------------------
Also see the error log below.
Time Sev Major Minor Args
Jan 01 00:00:55 7 20 1 io-media-generic: open('graphs/trackplayer/default')
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph create function
Jan 01 00:00:55 6 20 1 io-media-generic/trackplayer: Created graph instance 'default'
Jan 01 00:00:55 6 20 1 io-media-generic: open( 'graphs/trackplayer/default' ): success
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETTRANSITION
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETTRANSITION returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd CAPABILITIES
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd CAPABILITIES returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHOUTPUT
Jan 01 00:00:55 5 20 1 io-media-generic/mmf: writer hint gf:* found
Jan 01 00:00:55 6 20 1 io-media-generic/mmf: URL 'gf:0000,0000,0?layer=1&aspn=72&aspd=77&sat=25' matches pattern 'gf:*'
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd ATTACHOUTPUT returning 0
Jan 01 00:00:55 1 27 0 MME:_setiomoutputattr(5725): Output device type 2 not supported
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETSPEED
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETSPEED returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHINPUT
Jan 01 00:00:55 6 20 1 io-media-generic/mmf: URL '/media/drive/test.mp4' matches pattern '*.mp4'
Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Tag 'format' has 0 kids
Jan 01 00:00:55 6 20 1 io-media-generic/mmf: Setting long resource 'StreamerStickyError' (value='1')
Jan 01 00:00:55 2 20 1 io-media-generic/trackplayer: Skipping audio graph -- no audio device.
Jan 01 00:00:55 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() num_vid_tracks
= 1, num_aud_tracks = 0
Jan 01 00:00:55 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() fourcc = avc1
Jan 01 00:00:55 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() escaped 0!
Jan 01 00:00:55 5 20 1 io-media-generic/aoi: MP4Parser: max sample size = 19295.
Jan 01 00:00:55 6 20 1 io-media-generic/trackplayer: Loaded the mp4_parser filter based on the parser tag
Jan 01 00:00:55 6 20 1 io-media-generic/mmf: Setting long resource 'AVSyncDelay' (value='0')
Jan 01 00:00:55 5 20 1 io-media-generic/trackplayer: Skipping audio subgraph because there is no device
specified.
Jan 01 00:00:55 7 ...
View Full Message
|
|
|
Peter Martin(deleted)
|
Re: Running my h264 decoder with MME
|
Peter Martin(deleted)
04/28/2009 9:41 AM
post28229
|
Re: Running my h264 decoder with MME
On Tue, 28 Apr 2009, Venkatarao Patnaik Balivada wrote:
>Hi,
>
>Now I am getting problem with gf_writer filter. It fails in CreateGFSurfs(), fails in this condition, what could be
the problem?
>
> if (gf_layer_update(f->user->layer, 0) != GF_ERR_OK) {
> AO_LOG(AO_LOG_ERROR,"failed to update layer.");
> return MM_EINVAL;
> }
Can you check and see if io-media-generic is still running after that
sequence of events.
If it is not, running dumper will allow you to collect information about
the state of executables when they exited abnormally. (see the docs on
dumper)
Thanks,
Peter
>------------------
>Also see the error log below.
>
>Time Sev Major Minor Args
>Jan 01 00:00:55 7 20 1 io-media-generic: open('graphs/trackplayer/default')
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph create function
>Jan 01 00:00:55 6 20 1 io-media-generic/trackplayer: Created graph instance 'default'
>Jan 01 00:00:55 6 20 1 io-media-generic: open( 'graphs/trackplayer/default' ): success
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GRAPHOPTIONS
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd GRAPHOPTIONS returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETTRANSITION
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETTRANSITION returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd CAPABILITIES
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd CAPABILITIES returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHOUTPUT
>Jan 01 00:00:55 5 20 1 io-media-generic/mmf: writer hint gf:* found
>Jan 01 00:00:55 6 20 1 io-media-generic/mmf: URL 'gf:0000,0000,0?layer=1&aspn=72&aspd=77&sat=25' matches pattern 'gf:*'
>Jan 01 00:00:55 7 20 1 io-
media-generic/trackplayer: Dcmd ATTACHOUTPUT returning 0
>Jan 01 00:00:55 1 27 0 MME:_setiomoutputattr(5725): Output device type 2 not supported
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETSPEED
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETSPEED returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd GETSTATUS
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd GETSTATUS returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd SETNOTIFICATION
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Dcmd SETNOTIFICATION returning 0
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Calling graph handler for dcmd ATTACHINPUT
>Jan 01 00:00:55 6 20 1 io-media-generic/mmf: URL '/media/drive/test.mp4' matches pattern '*.mp4'
>Jan 01 00:00:55 7 20 1 io-media-generic/trackplayer: Tag 'format' has 0 kids
>Jan 01 00:00:55 6 20 1 io-media-generic/mmf: Setting long resource 'StreamerStickyError' (value='1')
>Jan 01 00:00:55 2 20 1 io-media-generic/trackplayer: Skipping audio graph -- no audio device.
>Jan 01 00:00:55 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() num_vid_tracks = 1,
num_aud_tracks = 0
>Jan 01 00:00:55 6 20 1 io-media-generic/aoi: mp4_parser->SetChannelParameters() fourcc = avc1
>Jan 01 00:00:55 6 20 1 io-media-generic/aoi:...
View Full Message
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/29/2009 6:25 AM
post28305
|
Re: Running my h264 decoder with MME
Hi,
I got the core dump file. But I couldn't find gdb to run on the target.
Should I run ntoarm-gdb on the host?
Instead of trying this, I want to understand the root cause of this.It might have crashed due to some bug in my decoder,
I can debug that.
My basic question is, why is MME iterating through each output format, if one of them (I need I420) is supported it
should stop and connect, right? Is it that none of the formats are supported by gf_writer?
It is difficult for me to debug video writer etc.
I need to write I420 output, can I write to a file instead of gf-writer, through the mmecli utility? OR I need to write
seperate app?
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/29/2009 7:30 AM
post28309
|
Re: Running my h264 decoder with MME
Hi,
Can I use rawfile_writer to write my decoded output to a file?
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/29/2009 7:37 AM
post28310
|
Re: Running my h264 decoder with MME
Hi,
I just found one sampleapp "audio_out", should I write similar app to write the video output to a file? OR mmecli can
write to a file?
|
|
|
Peter Martin(deleted)
|
Re: Running my h264 decoder with MME
|
Peter Martin(deleted)
04/29/2009 8:45 AM
post28315
|
Re: Running my h264 decoder with MME
On Wed, 29 Apr 2009, Venkatarao Patnaik Balivada wrote:
>Hi,
>
>I got the core dump file. But I couldn't find gdb to run on the target.
>Should I run ntoarm-gdb on the host? Instead of trying this, I want to
>understand the root cause of this.It might have crashed due to some bug in
>my decoder, I can debug that.
Debugging has to run on the host system and not on the target.
Using the debugger you should be able to see what calling function the
fault occured in which would help you indentify what should be looked at
first.
ntoarm-gdb <full path to binary file> <full path to corefile>
>
>My basic question is, why is MME iterating through each output format, if
>one of them (I need I420) is supported it should stop and connect, right?
>Is it that none of the formats are supported by gf_writer?
>
>It is difficult for me to debug video writer etc.
>
>I need to write I420 output, can I write to a file instead of gf-writer,
>through the mmecli utility? OR I need to write seperate app?
I'm not aware of the ability to do that, but maybe someone else might be
able to point at some suggestions.
>
>_______________________________________________
>General
>http://community.qnx.com/sf/go/post28305
>
>
|
|
|
Venkatarao Patnaik Balivada(deleted)
|
Re: Running my h264 decoder with MME
|
Venkatarao Patnaik Balivada(deleted)
04/29/2009 9:09 AM
post28320
|
Re: Running my h264 decoder with MME
I think in this case the debugger is not required. Because it returned one error from gf_writer function, which caused
the fault somewhere else. I want to debug only the first error. Only thing I don't understand is why is it iterating
through different video formats if I420 is supoorted by gf_writer(), which is the first format.
|
|
|
|