|
List Info
Thread: how to decode data received from rtsp using dtdriver framework?
|
|
| how to decode data received from rtsp
using dtdriver framework? |

|
2006-09-22 20:43:31 |
I have two separate modules
one module is like this:
result &=
driver_commands->SetPropertyULONG32("Header",
0);
result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
ff_driver->Drive("rtsp://127.0.0.1:554/test.rm?cloak
port=89,554", NULL);
The second one is (receiving data from a buffer IHXDataFile
and output
to a buffer IHXSourceInput):
HXFFT_BAIL(ff_driver->SetClientContext((IUnknown
*)(IHXDataFile
*)input_node));
result &=
driver_commands->SetPropertyULONG32("DecodeSource&qu
ot;, 1);
result &=
driver_commands->SetPropertyULONG32("DecodeVideo&quo
t;, 1);
result &=
driver_commands->SetPropertyULONG32("DecodeAudio&quo
t;, 1);
result &=
driver_commands->SetPropertyULONG32("Header",
0);
result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
ff_driver->Drive("fileproxy://.rm", NULL);
- - - - - - - - - - - - - -
If I open a local .rm file with open and send the bytes
(using
IHXDataFile input) to Helix, my second module works fine.
How can I get from fist module and send it to second module?
btw: I noticed that my first module is only pushing out
x-pn-realvideo
packet data but its header, may be it is the reason I cant
connect my
first module to second module.
BR,
Edgard
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
| how to decode data received from rtsp
using dtdriver framework? |

|
2006-09-26 15:46:23 |
The output that your first module produces is not compatible
with the
IHXDataFile input via fileproxy:// filesystem. The reason
is that
IHXDataFile operates on a flat file (.rm file) and
IHXSourceInput produces
Helix standard packetized stream.
To have the two connect, instead of using fileproxy file
system in the
second module, use directio instead. The example of
directio is in
datatypetoolsdtdriversamplesdirect_io .
It simply creates a source handler object that supports
IHXSourceInput
interface to connect to dtdriver pipeline and supply input
to the
pipeline. It sets "DecodeSource" to 2 (any value
> 1 will do in this case)
to ensure decoder is placed after the source handler acting
as input. The
chain is then driven without specifying any input file name:
retVal = pFFDriver->Init(NULL, // no log output
file name
NULL, // media
file output file name
NULL, //
temporary directory name
pCommands, // commands
to dtdrive
pOutputNode, //
IHXSourceInput*
NULL, // Custom
file writer
(IHXFileWriter)
pCustomProcessingNodeChain); // my node
that supplies input
Milko
At 01:43 PM 9/22/2006, Edgard Lima wrote:
>I have two separate modules
>
>one module is like this:
>
> result &=
driver_commands->SetPropertyULONG32("Header",
0);
> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>
>ff_driver->Drive("rtsp://127.0.0.1:554/test.rm?c
loakport=89,554", NULL);
>
>The second one is (receiving data from a buffer
IHXDataFile and output to
>a buffer IHXSourceInput):
>
> HXFFT_BAIL(ff_driver->SetClientContext((IUnknown
*)(IHXDataFile
> *)input_node));
>
> result &=
driver_commands->SetPropertyULONG32("DecodeSource&qu
ot;, 1);
> result &=
driver_commands->SetPropertyULONG32("DecodeVideo&quo
t;, 1);
> result &=
driver_commands->SetPropertyULONG32("DecodeAudio&quo
t;, 1);
> result &=
driver_commands->SetPropertyULONG32("Header",
0);
> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>
>ff_driver->Drive("fileproxy://.rm", NULL);
>
>- - - - - - - - - - - - - -
>
>If I open a local .rm file with open and send the bytes
(using IHXDataFile
>input) to Helix, my second module works fine.
>
>How can I get from fist module and send it to second
module?
>
>btw: I noticed that my first module is only pushing out
x-pn-realvideo
>packet data but its header, may be it is the reason I
cant connect my
>first module to second module.
>
>BR,
>Edgard
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
| how to decode data received from rtsp
using dtdriver framework? |

|
2006-09-26 19:47:57 |
How to do 'seek' in the first module (the rtsp one) ?
BR,
Edgard
Milko Boic wrote:
>
> The output that your first module produces is not
compatible with the
> IHXDataFile input via fileproxy:// filesystem. The
reason is that
> IHXDataFile operates on a flat file (.rm file) and
IHXSourceInput
> produces Helix standard packetized stream.
>
> To have the two connect, instead of using fileproxy
file system in the
> second module, use directio instead. The example of
directio is in
> datatypetoolsdtdriversamplesdirect_io .
>
> It simply creates a source handler object that supports
IHXSourceInput
> interface to connect to dtdriver pipeline and supply
input to the
> pipeline. It sets "DecodeSource" to 2 (any
value > 1 will do in this
> case) to ensure decoder is placed after the source
handler acting as
> input. The chain is then driven without specifying any
input file name:
>
> retVal = pFFDriver->Init(NULL, // no log
output file name
> NULL, //
media file output
> file name
> NULL, //
temporary directory
> name
> pCommands, //
commands to dtdrive
> pOutputNode, //
IHXSourceInput*
> NULL, //
Custom file writer
> (IHXFileWriter)
>
pCustomProcessingNodeChain); // my
> node that supplies input
>
> Milko
>
>
> At 01:43 PM 9/22/2006, Edgard Lima wrote:
>> I have two separate modules
>>
>> one module is like this:
>>
>> result &=
driver_commands->SetPropertyULONG32("Header",
0);
>> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>>
>>
ff_driver->Drive("rtsp://127.0.0.1:554/test.rm?cloak
port=89,554", NULL);
>>
>> The second one is (receiving data from a buffer
IHXDataFile and
>> output to a buffer IHXSourceInput):
>>
>>
HXFFT_BAIL(ff_driver->SetClientContext((IUnknown
*)(IHXDataFile
>> *)input_node));
>>
>> result &=
driver_commands->SetPropertyULONG32("DecodeSource&qu
ot;, 1);
>> result &=
driver_commands->SetPropertyULONG32("DecodeVideo&quo
t;, 1);
>> result &=
driver_commands->SetPropertyULONG32("DecodeAudio&quo
t;, 1);
>> result &=
driver_commands->SetPropertyULONG32("Header",
0);
>> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>>
>> ff_driver->Drive("fileproxy://.rm",
NULL);
>>
>> - - - - - - - - - - - - - -
>>
>> If I open a local .rm file with open and send the
bytes (using
>> IHXDataFile input) to Helix, my second module works
fine.
>>
>> How can I get from fist module and send it to
second module?
>>
>> btw: I noticed that my first module is only pushing
out
>> x-pn-realvideo packet data but its header, may be
it is the reason I
>> cant connect my first module to second module.
>>
>> BR,
>> Edgard
>
>
>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
| how to decode data received from rtsp
using dtdriver framework? |

|
2006-09-26 20:00:34 |
At 12:47 PM 9/26/2006, Edgard Lima wrote:
>How to do 'seek' in the first module (the rtsp one) ?
I have not implemented that yet.
Currently to "seek" dtdrive you need to Stop() the
pipeline and Drive()
again while specifying different "StartTime"
option giving the start time
in milliseconds.
This will teardown your RTSP session, disconnect and then
reconnect and
restart the session.
I'll try to implement seek in next few weeks, but feel free
to give it a
try yourself.
Milko
>BR,
>Edgard
>
>
>
>
>Milko Boic wrote:
>>
>>The output that your first module produces is not
compatible with the
>>IHXDataFile input via fileproxy:// filesystem. The
reason is that
>>IHXDataFile operates on a flat file (.rm file) and
IHXSourceInput
>>produces Helix standard packetized stream.
>>
>>To have the two connect, instead of using fileproxy
file system in the
>>second module, use directio instead. The example of
directio is in
>>datatypetoolsdtdriversamplesdirect_io .
>>
>>It simply creates a source handler object that
supports IHXSourceInput
>>interface to connect to dtdriver pipeline and supply
input to the
>>pipeline. It sets "DecodeSource" to 2
(any value > 1 will do in this
>>case) to ensure decoder is placed after the source
handler acting as
>>input. The chain is then driven without specifying
any input file name:
>>
>>retVal = pFFDriver->Init(NULL, // no log
output file name
>> NULL, //
media file output
>> file name
>> NULL, //
temporary directory name
>> pCommands, //
commands to dtdrive
>> pOutputNode, //
IHXSourceInput*
>> NULL, //
Custom file writer
>> (IHXFileWriter)
>>
pCustomProcessingNodeChain); // my
>> node that supplies input
>>
>>Milko
>>
>>
>>At 01:43 PM 9/22/2006, Edgard Lima wrote:
>>>I have two separate modules
>>>
>>>one module is like this:
>>>
>>> result &=
driver_commands->SetPropertyULONG32("Header",
0);
>>> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>>>
>>>ff_driver->Drive("rtsp://127.0.0.1:554/t
est.rm?cloakport=89,554", NULL);
>>>
>>>The second one is (receiving data from a buffer
IHXDataFile and output
>>>to a buffer IHXSourceInput):
>>>
>>>
HXFFT_BAIL(ff_driver->SetClientContext((IUnknown
*)(IHXDataFile
>>> *)input_node));
>>>
>>> result &=
driver_commands->SetPropertyULONG32("DecodeSource&qu
ot;, 1);
>>> result &=
driver_commands->SetPropertyULONG32("DecodeVideo&quo
t;, 1);
>>> result &=
driver_commands->SetPropertyULONG32("DecodeAudio&quo
t;, 1);
>>> result &=
driver_commands->SetPropertyULONG32("Header",
0);
>>> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>>>
>>>ff_driver->Drive("fileproxy://.rm",
NULL);
>>>
>>>- - - - - - - - - - - - - -
>>>
>>>If I open a local .rm file with open and send
the bytes (using
>>>IHXDataFile input) to Helix, my second module
works fine.
>>>
>>>How can I get from fist module and send it to
second module?
>>>
>>>btw: I noticed that my first module is only
pushing out x-pn-realvideo
>>>packet data but its header, may be it is the
reason I cant connect my
>>>first module to second module.
>>>
>>>BR,
>>>Edgard
>>
>>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
| how to decode data received from rtsp
using dtdriver framework? |

|
2006-09-26 21:14:45 |
Hi Milko,
If possible, it would be good if you could implement Pause
and Resume too.
btw2: please let me know when you finish it.
BR,
Edgard
Milko Boic wrote:
> At 12:47 PM 9/26/2006, Edgard Lima wrote:
>
>> How to do 'seek' in the first module (the rtsp one)
?
>
> I have not implemented that yet.
> Currently to "seek" dtdrive you need to
Stop() the pipeline and
> Drive() again while specifying different
"StartTime" option giving the
> start time in milliseconds.
> This will teardown your RTSP session, disconnect and
then reconnect
> and restart the session.
>
> I'll try to implement seek in next few weeks, but feel
free to give it
> a try yourself.
>
> Milko
>
>
>
>> BR,
>> Edgard
>>
>>
>>
>>
>> Milko Boic wrote:
>>>
>>> The output that your first module produces is
not compatible with
>>> the IHXDataFile input via fileproxy://
filesystem. The reason is
>>> that IHXDataFile operates on a flat file (.rm
file) and
>>> IHXSourceInput produces Helix standard
packetized stream.
>>>
>>> To have the two connect, instead of using
fileproxy file system in
>>> the second module, use directio instead. The
example of directio is
>>> in datatypetoolsdtdriversamplesdirect_io .
>>>
>>> It simply creates a source handler object that
supports
>>> IHXSourceInput interface to connect to dtdriver
pipeline and supply
>>> input to the pipeline. It sets
"DecodeSource" to 2 (any value > 1
>>> will do in this case) to ensure decoder is
placed after the source
>>> handler acting as input. The chain is then
driven without
>>> specifying any input file name:
>>>
>>> retVal = pFFDriver->Init(NULL, //
no log output file name
>>> NULL,
// media file output
>>> file name
>>> NULL,
// temporary
>>> directory name
>>> pCommands,
// commands to dtdrive
>>> pOutputNode,
// IHXSourceInput*
>>> NULL,
// Custom file
>>> writer (IHXFileWriter)
>>>
pCustomProcessingNodeChain); //
>>> my node that supplies input
>>>
>>> Milko
>>>
>>>
>>> At 01:43 PM 9/22/2006, Edgard Lima wrote:
>>>> I have two separate modules
>>>>
>>>> one module is like this:
>>>>
>>>> result &=
driver_commands->SetPropertyULONG32("Header",
0);
>>>> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>>>>
>>>>
ff_driver->Drive("rtsp://127.0.0.1:554/test.rm?cloak
port=89,554",
>>>> NULL);
>>>>
>>>> The second one is (receiving data from a
buffer IHXDataFile and
>>>> output to a buffer IHXSourceInput):
>>>>
>>>>
HXFFT_BAIL(ff_driver->SetClientContext((IUnknown
*)(IHXDataFile
>>>> *)input_node));
>>>>
>>>> result &=
driver_commands->SetPropertyULONG32("DecodeSource&qu
ot;, 1);
>>>> result &=
driver_commands->SetPropertyULONG32("DecodeVideo&quo
t;, 1);
>>>> result &=
driver_commands->SetPropertyULONG32("DecodeAudio&quo
t;, 1);
>>>> result &=
driver_commands->SetPropertyULONG32("Header",
0);
>>>> result &=
driver_commands->SetPropertyULONG32("MaxSpeed",
1);
>>>>
>>>>
ff_driver->Drive("fileproxy://.rm", NULL);
>>>>
>>>> - - - - - - - - - - - - - -
>>>>
>>>> If I open a local .rm file with open and
send the bytes (using
>>>> IHXDataFile input) to Helix, my second
module works fine.
>>>>
>>>> How can I get from fist module and send it
to second module?
>>>>
>>>> btw: I noticed that my first module is only
pushing out
>>>> x-pn-realvideo packet data but its header,
may be it is the reason
>>>> I cant connect my first module to second
module.
>>>>
>>>> BR,
>>>> Edgard
>>>
>>>
>
>
>
> _______________________________________________
> Datatype-dev mailing list
> Datatype-dev helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
[1-5]
|
|