Ok...I feel dumb...I am using the wrong set_eof function...I should be using pjmedia_wav_playlist_set_eof_cb()... Sorry, David Clark At 07:33 PM 1/16/2009, you wrote: >Alright I found the problem but not the solution. >The problem has to do with wav_playlist.c versus wav_player.c and >the port definitions being different. >Lets take a look at what my application does. It does this: > status = pjsua_playlist_create(play_list_filenames, > filecount, &port_label, PJMEDIA_FILE_NO_LOOP, > &sip_data[line].wav_id); // > this works. And craetes a media port using the wav_playlist.c definition. > > pjsua_player_get_port(sip_data[line].wav_id, > &sip_data[line].wav_playback_port); // this gives the port based on > id being a array index > > sip_data[line].wav_port = > pjsua_player_get_conf_port(sip_data[line].wav_id); // no affect on this issue. > > >status=pjmedia_wav_player_set_eof_cb(sip_data[line].wav_playback_port, >&sip_data[line].line_number, on_wave_playback_eof); // ok in this >function we break. >This function is in wav_player.c. So the smaller port definition is >used and when fport->cb is set...bam we have no handle value for the >fport->fd_list[2] when >we get back into wav_playlist.c > >Possible solutions >put a set_eof_cb() function of some type in wav_playlist.c >move (*cb) (port *, void *); to the first field of both structures. > >But what ideas does Benny and team have, as I would want any >solution merged into pjsip releases going forward. But I can test >any solution proposed. >Thanks, >David Clark > > > >At 02:29 PM 1/16/2009, you wrote: >>playlist bug after the second file. The file handle is lost. >>I augmented wav_playlist.c to print out some debug >>statements of what the file handles and read function results >>where. This is what I got: >> >>wav_playlist.c >>pj_file_open(filename=C:\centurytel\SYSlib\CATlib\slot_1.wav,handle=17964) >>index = 3 >>wav_playlist.c >>pj_file_open(filename=C:\centurytel\SYSlib\CATlib\slot_2.wav,handle=17972) >>index = 2 >>wav_playlist.c >>pj_file_open(filename=C:\centurytel\SYSlib\CATlib\slot_3.wav,handle=17976) >>index = 1 >>wav_playlist.c >>pj_file_open(filename=C:\centurytel\SYSlib\CATlib\slot_4.wav,handle=17980) >>index = 0 >> >>filenames and handles look acceptable for the given index values. >> >> resample.c resample created: high qualiy, large filter, >> in/out rate=16000/8000 >> resample.c resample created: high qualiy, large filter, >> in/out rate=8000/16000 >> playfilelist(4321): pjsua_playlist_create() >> ckln_newop(1, play wave, Ready), sip_data[line].line_state=play >> wave, sip_data[line].current_pjsip_operation=play wave >> conference.c Port 2 (4321) transmitting to port 1 >> (sip:+19722496924 at 4.68.250.148;isup-oli=62) >> playfilelist(4321): pjsua_conf(connect(2, 1) >>wav_playlist.c pj_file_read(handle=17980, input_size=4000) returned >>size=4000, index = 0 >>wav_playlist.c pj_file_read(handle=17980, input_size=4000) returned >>size=4000, index = 0 >>wav_playlist.c pj_file_read(handle=17980, input_size=4000) returned >>size=4000, index = 0 >>wav_playlist.c pj_file_read(handle=17980, input_size=4000) returned >>size=926, index = 0 >>wav_playlist.c pj_file_read(handle=17976, input_size=3074) returned >>size=3074, index = 1 >>wav_playlist.c pj_file_read(handle=17976, input_size=4000) returned >>size=4000, index = 1 >>wav_playlist.c pj_file_read(handle=17976, input_size=4000) returned >>size=4000, index = 1 >>wav_playlist.c pj_file_read(handle=17976, input_size=4000) returned >>size=2908, index = 1 >>wav_playlist.c pj_file_read(handle=5277605, input_size=1092) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >>wav_playlist.c pj_file_read(handle=5277605, input_size=4000) >>returned size=-1, index = 2 >> >>This actually continues until I hangup at which point the player is >>destroyed. >> >>The question is what happened to fport->fd_list[2]??? >> >> >>At 03:24 AM 1/16/2009, you wrote: >>>If I play files for the digits 4321 I only hear digits 4 and 3. >>>I am using version 1.0-rc1. >>> >>>Anybody seen anything like this? >>>I know from personal experience with prior versions like 0.5.8 >>>this functionality used to work fine. >>> >>>Thanks, >>>David Clark >>> >>> >>>_______________________________________________ >>>Visit our blog: http://blog.pjsip.org >>> >>>pjsip mailing list >>>pjsip at lists.pjsip.org >>>http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> >>_______________________________________________ >>Visit our blog: http://blog.pjsip.org >> >>pjsip mailing list >>pjsip at lists.pjsip.org >>http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > >_______________________________________________ >Visit our blog: http://blog.pjsip.org > >pjsip mailing list >pjsip at lists.pjsip.org >http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org