wav memory record buffer problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am trying to read in a mono wav file and put it into memory, in short.

The things I am doing now in short are:

1. Allocate some buffer space
/* Allocate some memmory for the buffer*/
    int membuffer_size = 1024*8000;
    unsigned char *membuffer;
    membuffer = new unsigned char[membuffer_size];

2. Init PJ LIb ...
3. Create a media port from the WAV file
status = pjmedia_wav_player_port_create(.... &file_port...)

4. Create a memory capture port
status = pjmedia_mem_capture_create (...
membuffer,membuffer_size,..&mem_port...)

5. Create a conference bridge

6. Add the mem_port to the conference bridge
status = pjmedia_conf_add_port( ... mem_port...)

7. Add the file_port to the conference bridge
status = pjmedia_conf_add_port( ... file_port...)

8.  Connect the fileport source (2) to memport (1) destination
status = pjmedia_conf_connect_port(conf, 2, 1, 0);

SO FAR everything works like expected. But now I am trying to read that
memory buffer out with another application.

BUT here the problem is i simply am not hearing any sound. I have checked
that that the file_port is writing to the memory by

status = pjmedia_mem_capture_get_size (mem_port);

which shows an increase in size so a good guess that its not the writing.

MY Guess is that the wav in memory lacks a RIFF WAV header, I guess it is
only created after i destroy the file_writer, because some calculations
about the length of the wav file etc.. have to be made in the header. So my
question is would it make sense to add a "dummy" header to make the wav file
readable in "realtime"? or are there better ways?

Here is the link to the Memory/Buffer Capture Port
http://www.pjsip.org/pjmedia/docs/html/group__PJMEDIA__MEM__CAPTURE.htm


Cheers Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20071108/128975a5/attachment.html 


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux