WaveOutWrite and Sockets

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello everybody,

I'm developing an application witch receives voice from Sockets and
playback it with the waveOutWrite function..
The problem is that when I receive datas during more than 5 minuts (more
or less) the waveOutWrite function returns a INVALPARAM error.
The "ReceiveData" method is this:

private byte[] message;
private byte[] message2;
private EndPoint endPointRemote;

public byte[] ReceiveData()
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
.....
//Join message and message2
return messagejoin;
}

if I change the method for the next to do tests, it works fine:
public byte[] ReceiveData()
{
if(count==0)
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
count=1;
}
else
{
Thread.Sleep(100);
}
.....
//Join message and message2
return messagejoin;
}
with this test I receive only a packet and I playback it all the time.

It seems that there's a memory problem, but I don't understand because I use
global ids.


What can I do?
Do you think that if I use the UDPClient I'll have the same problem?

Regards.
 
Where's the wave call? If that's generating the invalid parameter error, it
seems like we might want to look at it!

Paul T.
 
The wave call is in other Thread witch is the manager for taking packets from
the queue and it sends them to playback with the waveOutWrite function.


Paul G. Tobey said:
Where's the wave call? If that's generating the invalid parameter error, it
seems like we might want to look at it!

Paul T.

Black_angel said:
Hello everybody,

I'm developing an application witch receives voice from Sockets and
playback it with the waveOutWrite function..
The problem is that when I receive datas during more than 5 minuts (more
or less) the waveOutWrite function returns a INVALPARAM error.
The "ReceiveData" method is this:

private byte[] message;
private byte[] message2;
private EndPoint endPointRemote;

public byte[] ReceiveData()
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
....
//Join message and message2
return messagejoin;
}

if I change the method for the next to do tests, it works fine:
public byte[] ReceiveData()
{
if(count==0)
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
count=1;
}
else
{
Thread.Sleep(100);
}
....
//Join message and message2
return messagejoin;
}
with this test I receive only a packet and I playback it all the time.

It seems that there's a memory problem, but I don't understand because I
use
global ids.


What can I do?
Do you think that if I use the UDPClient I'll have the same problem?

Regards.
 
And you don't think that the transport of data from one thread to the other
is a more likely cause of the problem than the type of socket you're using.
Send a small, complete, sample that reproduces the problem, including both
the receive code (and how the buffers are appended, etc.), and the code to
send the data to the wave calls, and we might have a chance...

Paul T.

Black_angel said:
The wave call is in other Thread witch is the manager for taking packets
from
the queue and it sends them to playback with the waveOutWrite function.


Paul G. Tobey said:
Where's the wave call? If that's generating the invalid parameter error,
it
seems like we might want to look at it!

Paul T.

Black_angel said:
Hello everybody,

I'm developing an application witch receives voice from Sockets and
playback it with the waveOutWrite function..
The problem is that when I receive datas during more than 5 minuts
(more
or less) the waveOutWrite function returns a INVALPARAM error.
The "ReceiveData" method is this:

private byte[] message;
private byte[] message2;
private EndPoint endPointRemote;

public byte[] ReceiveData()
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
....
//Join message and message2
return messagejoin;
}

if I change the method for the next to do tests, it works fine:
public byte[] ReceiveData()
{
if(count==0)
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
count=1;
}
else
{
Thread.Sleep(100);
}
....
//Join message and message2
return messagejoin;
}
with this test I receive only a packet and I playback it all the time.

It seems that there's a memory problem, but I don't understand because
I
use
global ids.


What can I do?
Do you think that if I use the UDPClient I'll have the same problem?

Regards.
 
I don't know what to think because this is very strange...
I have done the sample. because of the fact that I don't know where send the
sample I have uploaded to a web:

http://www.reunionparalimpica.com/microsoft.zip

if you need something more, please, answer.
Thank you very much.
Regards.

Paul G. Tobey said:
And you don't think that the transport of data from one thread to the other
is a more likely cause of the problem than the type of socket you're using.
Send a small, complete, sample that reproduces the problem, including both
the receive code (and how the buffers are appended, etc.), and the code to
send the data to the wave calls, and we might have a chance...

Paul T.

Black_angel said:
The wave call is in other Thread witch is the manager for taking packets
from
the queue and it sends them to playback with the waveOutWrite function.


Paul G. Tobey said:
Where's the wave call? If that's generating the invalid parameter error,
it
seems like we might want to look at it!

Paul T.

Hello everybody,

I'm developing an application witch receives voice from Sockets and
playback it with the waveOutWrite function..
The problem is that when I receive datas during more than 5 minuts
(more
or less) the waveOutWrite function returns a INVALPARAM error.
The "ReceiveData" method is this:

private byte[] message;
private byte[] message2;
private EndPoint endPointRemote;

public byte[] ReceiveData()
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
....
//Join message and message2
return messagejoin;
}

if I change the method for the next to do tests, it works fine:
public byte[] ReceiveData()
{
if(count==0)
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
count=1;
}
else
{
Thread.Sleep(100);
}
....
//Join message and message2
return messagejoin;
}
with this test I receive only a packet and I playback it all the time.

It seems that there's a memory problem, but I don't understand because
I
use
global ids.


What can I do?
Do you think that if I use the UDPClient I'll have the same problem?

Regards.
 
That's fine. You must be using the Web interface to the newsgroup; regular
newsreaders allow attachments...

I'm sorry, but I can't get it to build for Windows CE.NET and I have no PPC
devices. I need a higher-level description of what's supposed to be
happening. What call EXACTLY returns the parameter error? What other
information is included in the exception? How are you handling the case
where a UDP packet is sent, but never arrives? Can packets be handled when
they arrive in a different order than they were sent?

Paul T.

Black_angel said:
I don't know what to think because this is very strange...
I have done the sample. because of the fact that I don't know where send
the
sample I have uploaded to a web:

http://www.reunionparalimpica.com/microsoft.zip

if you need something more, please, answer.
Thank you very much.
Regards.

Paul G. Tobey said:
And you don't think that the transport of data from one thread to the
other
is a more likely cause of the problem than the type of socket you're
using.
Send a small, complete, sample that reproduces the problem, including
both
the receive code (and how the buffers are appended, etc.), and the code
to
send the data to the wave calls, and we might have a chance...

Paul T.

Black_angel said:
The wave call is in other Thread witch is the manager for taking
packets
from
the queue and it sends them to playback with the waveOutWrite function.


:

Where's the wave call? If that's generating the invalid parameter
error,
it
seems like we might want to look at it!

Paul T.

Hello everybody,

I'm developing an application witch receives voice from Sockets and
playback it with the waveOutWrite function..
The problem is that when I receive datas during more than 5 minuts
(more
or less) the waveOutWrite function returns a INVALPARAM error.
The "ReceiveData" method is this:

private byte[] message;
private byte[] message2;
private EndPoint endPointRemote;

public byte[] ReceiveData()
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
....
//Join message and message2
return messagejoin;
}

if I change the method for the next to do tests, it works fine:
public byte[] ReceiveData()
{
if(count==0)
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
count=1;
}
else
{
Thread.Sleep(100);
}
....
//Join message and message2
return messagejoin;
}
with this test I receive only a packet and I playback it all the
time.

It seems that there's a memory problem, but I don't understand
because
I
use
global ids.


What can I do?
Do you think that if I use the UDPClient I'll have the same problem?

Regards.
 
And just to be sure, you 1) are *not* using the emulator and, 2) are *not*
using ActiveSync as your network transport, right?

Paul T.

Paul G. Tobey said:
That's fine. You must be using the Web interface to the newsgroup;
regular newsreaders allow attachments...

I'm sorry, but I can't get it to build for Windows CE.NET and I have no
PPC devices. I need a higher-level description of what's supposed to be
happening. What call EXACTLY returns the parameter error? What other
information is included in the exception? How are you handling the case
where a UDP packet is sent, but never arrives? Can packets be handled
when they arrive in a different order than they were sent?

Paul T.

Black_angel said:
I don't know what to think because this is very strange...
I have done the sample. because of the fact that I don't know where send
the
sample I have uploaded to a web:

http://www.reunionparalimpica.com/microsoft.zip

if you need something more, please, answer.
Thank you very much.
Regards.

Paul G. Tobey said:
And you don't think that the transport of data from one thread to the
other
is a more likely cause of the problem than the type of socket you're
using.
Send a small, complete, sample that reproduces the problem, including
both
the receive code (and how the buffers are appended, etc.), and the code
to
send the data to the wave calls, and we might have a chance...

Paul T.

The wave call is in other Thread witch is the manager for taking
packets
from
the queue and it sends them to playback with the waveOutWrite
function.


:

Where's the wave call? If that's generating the invalid parameter
error,
it
seems like we might want to look at it!

Paul T.

Hello everybody,

I'm developing an application witch receives voice from Sockets
and
playback it with the waveOutWrite function..
The problem is that when I receive datas during more than 5 minuts
(more
or less) the waveOutWrite function returns a INVALPARAM error.
The "ReceiveData" method is this:

private byte[] message;
private byte[] message2;
private EndPoint endPointRemote;

public byte[] ReceiveData()
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
....
//Join message and message2
return messagejoin;
}

if I change the method for the next to do tests, it works fine:
public byte[] ReceiveData()
{
if(count==0)
{
sock.ReceiveFrom(message, ref endPointRemote);
sock.ReceiveFrom(message2, ref endPointRemote);
count=1;
}
else
{
Thread.Sleep(100);
}
....
//Join message and message2
return messagejoin;
}
with this test I receive only a packet and I playback it all the
time.

It seems that there's a memory problem, but I don't understand
because
I
use
global ids.


What can I do?
Do you think that if I use the UDPClient I'll have the same
problem?

Regards.
 
hello,


I haven't got any Pocket PC device, so I am developing with the PPC2003
emulator.
The call witch returns the parameter error is the "WaveOutWrite" function.
In the WaveOut.cs
there's a function called "Play" where, when I have a audio packet, playback
it.
At the begining, this function "WaveOutWrite" returns 0 (NOERROR) but then,
when 5'30"
(more or less) pass this function returns 11 (INVALPARAM) and the audio
doesn't playback any more.
It's not an exception, when this happens the application continues, but the
sound stops.
If you put a interruption point in the WaveOutWrite function in the debugger
you can see it.
If a packet doesn't arrive don't mind. In the code that you have, when I
send a packet
I cut it in two parts because the size is very long (more than 1500bytes),
and then, when
the 2 pieces arrive I join them.
Yesterday I used a lower format: 8000HZ 8bits 1 channel and with this format
the packet has
the size of 800bytes so I didn't cut the packet but the error appears too.
When I add a packet to the queue "ColaReproduccion.cs" I sort the ArrayList,
I should control
if the timestamp is higuer to not add it but at the moment I don't manage
that.
However,even if the audio is mix, the WaveOutWrite should playback it
(listening bad but
listening something) because the PCI format hasn't any compression codec.
If you have any other question, I'll be delighted to answer you.

Regards and thank you very much.
 
You can't use datagrams and the emulator reliably in my experience. UDP
support in the interface layer between the emulator and the host system is
spotty. You must use a real device for this sort of code. I think that
you'll probably find that, other than the lack of reliable delivery and lack
of serialization in UDP, running on the device will probably work fine. You
*have* considered the fact that a UDP packet can be sent but not ever
arrived, right? And you *have* considered the fact that two UDP packets
sent in order, 1 then 2, may arrive at the client in the reverse order, 2
then 1, right?

Paul T.
 
If a packet is sent but not arrives, at the moment, it doesnt mind me,
there'll be a jump in the playback but it doesn't mind me.
When a packet arrives, I add it in a queue and then I sort the queue using
the number of sequence. If the second packet arrives before than the first
packet when the first packet arrives the queue is put in order.

I can't obtein a real device:-( This is my degree project and I develop it
at home.
Regards.


Paul G. Tobey said:
You can't use datagrams and the emulator reliably in my experience. UDP
support in the interface layer between the emulator and the host system is
spotty. You must use a real device for this sort of code. I think that
you'll probably find that, other than the lack of reliable delivery and lack
of serialization in UDP, running on the device will probably work fine. You
*have* considered the fact that a UDP packet can be sent but not ever
arrived, right? And you *have* considered the fact that two UDP packets
sent in order, 1 then 2, may arrive at the client in the reverse order, 2
then 1, right?

Paul T.

Black_angel said:
hello,


I haven't got any Pocket PC device, so I am developing with the PPC2003
emulator.
The call witch returns the parameter error is the "WaveOutWrite" function.
In the WaveOut.cs
there's a function called "Play" where, when I have a audio packet,
playback
it.
At the begining, this function "WaveOutWrite" returns 0 (NOERROR) but
then,
when 5'30"
(more or less) pass this function returns 11 (INVALPARAM) and the audio
doesn't playback any more.
It's not an exception, when this happens the application continues, but
the
sound stops.
If you put a interruption point in the WaveOutWrite function in the
debugger
you can see it.
If a packet doesn't arrive don't mind. In the code that you have, when I
send a packet
I cut it in two parts because the size is very long (more than 1500bytes),
and then, when
the 2 pieces arrive I join them.
Yesterday I used a lower format: 8000HZ 8bits 1 channel and with this
format
the packet has
the size of 800bytes so I didn't cut the packet but the error appears too.
When I add a packet to the queue "ColaReproduccion.cs" I sort the
ArrayList,
I should control
if the timestamp is higuer to not add it but at the moment I don't manage
that.
However,even if the audio is mix, the WaveOutWrite should playback it
(listening bad but
listening something) because the PCI format hasn't any compression codec.
If you have any other question, I'll be delighted to answer you.

Regards and thank you very much.




Paul G. Tobey said:
And just to be sure, you 1) are *not* using the emulator and, 2) are
*not*
using ActiveSync as your network transport, right?

Paul T.

"Paul G. Tobey [eMVP]" <ptobey no spam AT no instrument no spam DOT com>
wrote in message That's fine. You must be using the Web interface to the newsgroup;
regular newsreaders allow attachments...

I'm sorry, but I can't get it to build for Windows CE.NET and I have no
PPC devices. I need a higher-level description of what's supposed to
be
happening. What call EXACTLY returns the parameter error? What other
information is included in the exception? How are you handling the
case
where a UDP packet is sent, but never arrives? Can packets be handled
when they arrive in a different order than they were sent?

Paul T.
 
OK, it sounds like you'll live with the problems that might occur. You're
out of luck, if you can't get a real device, I'm afraid. What, exactly, are
you trying to demonstrate?

Paul T.

Black_angel said:
If a packet is sent but not arrives, at the moment, it doesnt mind me,
there'll be a jump in the playback but it doesn't mind me.
When a packet arrives, I add it in a queue and then I sort the queue using
the number of sequence. If the second packet arrives before than the first
packet when the first packet arrives the queue is put in order.

I can't obtein a real device:-( This is my degree project and I develop it
at home.
Regards.


Paul G. Tobey said:
You can't use datagrams and the emulator reliably in my experience. UDP
support in the interface layer between the emulator and the host system
is
spotty. You must use a real device for this sort of code. I think that
you'll probably find that, other than the lack of reliable delivery and
lack
of serialization in UDP, running on the device will probably work fine.
You
*have* considered the fact that a UDP packet can be sent but not ever
arrived, right? And you *have* considered the fact that two UDP packets
sent in order, 1 then 2, may arrive at the client in the reverse order, 2
then 1, right?

Paul T.

Black_angel said:
hello,


I haven't got any Pocket PC device, so I am developing with the
PPC2003
emulator.
The call witch returns the parameter error is the "WaveOutWrite"
function.
In the WaveOut.cs
there's a function called "Play" where, when I have a audio packet,
playback
it.
At the begining, this function "WaveOutWrite" returns 0 (NOERROR) but
then,
when 5'30"
(more or less) pass this function returns 11 (INVALPARAM) and the audio
doesn't playback any more.
It's not an exception, when this happens the application continues, but
the
sound stops.
If you put a interruption point in the WaveOutWrite function in the
debugger
you can see it.
If a packet doesn't arrive don't mind. In the code that you have, when
I
send a packet
I cut it in two parts because the size is very long (more than
1500bytes),
and then, when
the 2 pieces arrive I join them.
Yesterday I used a lower format: 8000HZ 8bits 1 channel and with this
format
the packet has
the size of 800bytes so I didn't cut the packet but the error appears
too.
When I add a packet to the queue "ColaReproduccion.cs" I sort the
ArrayList,
I should control
if the timestamp is higuer to not add it but at the moment I don't
manage
that.
However,even if the audio is mix, the WaveOutWrite should playback it
(listening bad but
listening something) because the PCI format hasn't any compression
codec.
If you have any other question, I'll be delighted to answer you.

Regards and thank you very much.




:

And just to be sure, you 1) are *not* using the emulator and, 2) are
*not*
using ActiveSync as your network transport, right?

Paul T.

"Paul G. Tobey [eMVP]" <ptobey no spam AT no instrument no spam DOT
com>
wrote in message That's fine. You must be using the Web interface to the newsgroup;
regular newsreaders allow attachments...

I'm sorry, but I can't get it to build for Windows CE.NET and I have
no
PPC devices. I need a higher-level description of what's supposed
to
be
happening. What call EXACTLY returns the parameter error? What
other
information is included in the exception? How are you handling the
case
where a UDP packet is sent, but never arrives? Can packets be
handled
when they arrive in a different order than they were sent?

Paul T.
 
I have to develop two applications (PC and PPC) using VoIP (Voice over IP).
The PC application is ready more or less, and the PPC application has that
problem.
I have to speak from the PC application to the PPC application and vice versa.
The hard part is the PPC because of the fact that it's not a real time
plattaform.
And now with this problem... I don't know how to fix it:-(
Regards and thank you very much.



Paul G. Tobey said:
OK, it sounds like you'll live with the problems that might occur. You're
out of luck, if you can't get a real device, I'm afraid. What, exactly, are
you trying to demonstrate?

Paul T.

Black_angel said:
If a packet is sent but not arrives, at the moment, it doesnt mind me,
there'll be a jump in the playback but it doesn't mind me.
When a packet arrives, I add it in a queue and then I sort the queue using
the number of sequence. If the second packet arrives before than the first
packet when the first packet arrives the queue is put in order.

I can't obtein a real device:-( This is my degree project and I develop it
at home.
Regards.


Paul G. Tobey said:
You can't use datagrams and the emulator reliably in my experience. UDP
support in the interface layer between the emulator and the host system
is
spotty. You must use a real device for this sort of code. I think that
you'll probably find that, other than the lack of reliable delivery and
lack
of serialization in UDP, running on the device will probably work fine.
You
*have* considered the fact that a UDP packet can be sent but not ever
arrived, right? And you *have* considered the fact that two UDP packets
sent in order, 1 then 2, may arrive at the client in the reverse order, 2
then 1, right?

Paul T.

hello,


I haven't got any Pocket PC device, so I am developing with the
PPC2003
emulator.
The call witch returns the parameter error is the "WaveOutWrite"
function.
In the WaveOut.cs
there's a function called "Play" where, when I have a audio packet,
playback
it.
At the begining, this function "WaveOutWrite" returns 0 (NOERROR) but
then,
when 5'30"
(more or less) pass this function returns 11 (INVALPARAM) and the audio
doesn't playback any more.
It's not an exception, when this happens the application continues, but
the
sound stops.
If you put a interruption point in the WaveOutWrite function in the
debugger
you can see it.
If a packet doesn't arrive don't mind. In the code that you have, when
I
send a packet
I cut it in two parts because the size is very long (more than
1500bytes),
and then, when
the 2 pieces arrive I join them.
Yesterday I used a lower format: 8000HZ 8bits 1 channel and with this
format
the packet has
the size of 800bytes so I didn't cut the packet but the error appears
too.
When I add a packet to the queue "ColaReproduccion.cs" I sort the
ArrayList,
I should control
if the timestamp is higuer to not add it but at the moment I don't
manage
that.
However,even if the audio is mix, the WaveOutWrite should playback it
(listening bad but
listening something) because the PCI format hasn't any compression
codec.
If you have any other question, I'll be delighted to answer you.

Regards and thank you very much.




:

And just to be sure, you 1) are *not* using the emulator and, 2) are
*not*
using ActiveSync as your network transport, right?

Paul T.

"Paul G. Tobey [eMVP]" <ptobey no spam AT no instrument no spam DOT
com>
wrote in message That's fine. You must be using the Web interface to the newsgroup;
regular newsreaders allow attachments...

I'm sorry, but I can't get it to build for Windows CE.NET and I have
no
PPC devices. I need a higher-level description of what's supposed
to
be
happening. What call EXACTLY returns the parameter error? What
other
information is included in the exception? How are you handling the
case
where a UDP packet is sent, but never arrives? Can packets be
handled
when they arrive in a different order than they were sent?

Paul T.
 
Well, how do you plan to use the emulator for the speaking end of things?
You *must* have a real device...

Paul T.

Black_angel said:
I have to develop two applications (PC and PPC) using VoIP (Voice over IP).
The PC application is ready more or less, and the PPC application has that
problem.
I have to speak from the PC application to the PPC application and vice
versa.
The hard part is the PPC because of the fact that it's not a real time
plattaform.
And now with this problem... I don't know how to fix it:-(
Regards and thank you very much.



Paul G. Tobey said:
OK, it sounds like you'll live with the problems that might occur.
You're
out of luck, if you can't get a real device, I'm afraid. What, exactly,
are
you trying to demonstrate?

Paul T.

Black_angel said:
If a packet is sent but not arrives, at the moment, it doesnt mind me,
there'll be a jump in the playback but it doesn't mind me.
When a packet arrives, I add it in a queue and then I sort the queue
using
the number of sequence. If the second packet arrives before than the
first
packet when the first packet arrives the queue is put in order.

I can't obtein a real device:-( This is my degree project and I develop
it
at home.
Regards.


:

You can't use datagrams and the emulator reliably in my experience.
UDP
support in the interface layer between the emulator and the host
system
is
spotty. You must use a real device for this sort of code. I think
that
you'll probably find that, other than the lack of reliable delivery
and
lack
of serialization in UDP, running on the device will probably work
fine.
You
*have* considered the fact that a UDP packet can be sent but not ever
arrived, right? And you *have* considered the fact that two UDP
packets
sent in order, 1 then 2, may arrive at the client in the reverse
order, 2
then 1, right?

Paul T.

hello,


I haven't got any Pocket PC device, so I am developing with the
PPC2003
emulator.
The call witch returns the parameter error is the "WaveOutWrite"
function.
In the WaveOut.cs
there's a function called "Play" where, when I have a audio packet,
playback
it.
At the begining, this function "WaveOutWrite" returns 0 (NOERROR)
but
then,
when 5'30"
(more or less) pass this function returns 11 (INVALPARAM) and the
audio
doesn't playback any more.
It's not an exception, when this happens the application continues,
but
the
sound stops.
If you put a interruption point in the WaveOutWrite function in the
debugger
you can see it.
If a packet doesn't arrive don't mind. In the code that you have,
when
I
send a packet
I cut it in two parts because the size is very long (more than
1500bytes),
and then, when
the 2 pieces arrive I join them.
Yesterday I used a lower format: 8000HZ 8bits 1 channel and with
this
format
the packet has
the size of 800bytes so I didn't cut the packet but the error
appears
too.
When I add a packet to the queue "ColaReproduccion.cs" I sort the
ArrayList,
I should control
if the timestamp is higuer to not add it but at the moment I don't
manage
that.
However,even if the audio is mix, the WaveOutWrite should playback
it
(listening bad but
listening something) because the PCI format hasn't any compression
codec.
If you have any other question, I'll be delighted to answer you.

Regards and thank you very much.




:

And just to be sure, you 1) are *not* using the emulator and, 2)
are
*not*
using ActiveSync as your network transport, right?

Paul T.

"Paul G. Tobey [eMVP]" <ptobey no spam AT no instrument no spam DOT
com>
wrote in message That's fine. You must be using the Web interface to the
newsgroup;
regular newsreaders allow attachments...

I'm sorry, but I can't get it to build for Windows CE.NET and I
have
no
PPC devices. I need a higher-level description of what's
supposed
to
be
happening. What call EXACTLY returns the parameter error? What
other
information is included in the exception? How are you handling
the
case
where a UDP packet is sent, but never arrives? Can packets be
handled
when they arrive in a different order than they were sent?

Paul T.
 
At the begining I thought to buy a Pocket PC, but they are very expensive for
me and
until now I have worked with the emulator without problems.
The application that I have uploaded works fine in the emulator (except for
the problem that I have mentioned that in the 7th minut the waveOutwrite
function returns an INVALPARAM error).
What adventages has a real device than a emulator for this project? because
I have worked since february with the emular sending data, playing back and
recording audio,....
Regards.
 
I thought that I covered that. Emulator communications is not identical to
a real network connected to a real device. I don't know the why of that,
but it's an *emulator*; no one would try to implement their final
application with the emulator as the target, so there's little effort to
make emulation perfect.

How are you going to capture audio on the emulator end? There's no audio
capture support there that I can see. At best, even if you figure out this
problem, you'll only be able to demonstrate audio output from the emulator,
not input.

Since it's my assertion that the emulator is responsible for this problem
that you're having, tying yourself to it is not only limiting your ability
to actually implement the whole solution, but is wasting your time trying to
fix a problem that's just an emulator problem.

Isn't there an academic purchase program that would get you a Pocket PC at a
reasonable cost? What about eBay?

Paul T.
 
The emulator can capture audio correctly with the WaveIn functions of the
WaveFormAudio API. I did it and I can send that audio to the PC application
using Sockets. The audio capture is supported in the emulator.
Talking about buying a Pocket PC... I don't know any academic purchase
program that would get me a Pocket PC at a reasonable cost, and at the
begining, in february, I saw in eBay but the cost continue being expensive
for me.
I have a friend who has a Pocket PC, I'll try ask him to borrow.
Regards.
 
Back
Top