Hello everyone, I'm new here but I can't say I'm new to pjsip. I'm devoted
to make a pjsip based app for quite sometime now and with the knowledge
comes the curiosity and the need to make it work as good is it could, right?
So, for the last two months I'm working on a video renderer device based
on the SDL_dev.c
and after all this time I came to a conclusion not very good and I'm
wondering if you guys could give me some guidance.
The main reason to make another renderer is to get rid of the WindowID
depedency. I want to work with the buffer data, not the window handler.
Just to be specific. I already made it work, but it's not good enough for
me. Let me explain what I've done:
The first method used was very bad I do know that but it worked and I
really dont wanna come back to that.
Basically I was using pjemdia_event_publish to send frames and capture at
on_call_media_event.
Thats exactally what I want to do. Get decoded frame and send it to the
application.
The other way was actually developing a video renderer and implementing
put_frame API.
And now I realize I dont have everything I need to give the frame to the
application.
I could do this if I on my put_frame function I could get the call_id this
frame is related.
*Is there a way to get the call_id from inside the put_frame implementation
of the video renderer? *Or having the call_id on the create_stream API
would do as well.
The other way around would be to call something like
pjmedia_vid_dev_stream_get_frame
from application but I can't figure out a way to get
the pjmedia_vid_dev_stream pointer that is needed to get this function.
So..
Is there a way to get the pjmedia_vid_dev_stream of a given call_id ?
I really hope you guys can help me with that... I would hate to go back and
have to make it work by force.
Thank you very much!
Hi,
I've also run into a similar problem, that pjsua media doesn't record
the associated call_id in either the stream (audio) or vid_stream
structures. For video I hacked it by passing the call_id in the
pjmedia_vid_dev_param structure when creating the video device. For
audio I hacked it in pjsua_aud_channel_update, when the audio stream is
created, that's where you can associate the stream to a call.
Regards,
Bill
On 3/16/2016 9:56 AM, poste9 wrote:
Hello everyone, I'm new here but I can't say I'm new to pjsip. I'm
devoted to make a pjsip based app for quite sometime now and with the
knowledge comes the curiosity and the need to make it work as good is
it could, right?
So, for the last two months I'm working on a video renderer device
based on the SDL_dev.c
and after all this time I came to a conclusion not very good and I'm
wondering if you guys could give me some guidance.
The main reason to make another renderer is to get rid of the WindowID
depedency. I want to work with the buffer data, not the window handler.
Just to be specific. I already made it work, but it's not good enough
for me. Let me explain what I've done:
The first method used was very bad I do know that but it worked and I
really dont wanna come back to that.
Basically I was using pjemdia_event_publish to send frames and capture
at on_call_media_event.
Thats exactally what I want to do. Get decoded frame and send it to
the application.
The other way was actually developing a video renderer and
implementing put_frame API.
And now I realize I dont have everything I need to give the frame to
the application.
I could do this if I on my put_frame function I could get the call_id
this frame is related.
*Is there a way to get the call_id from inside the put_frame
implementation of the video renderer? *Or having the call_id on the
create_stream API would do as well.
*
*
The other way around would be to call something like
/pjmedia_vid_dev_stream_get_frame/
from application but I can't figure out a way to get
the pjmedia_vid_dev_streampointer that is needed to get this function.
So..
Is there a way to get the pjmedia_vid_dev_stream of a given call_id ?
*
*
I really hope you guys can help me with that... I would hate to go
back and have to make it work by force.
Thank you very much!
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Well, that limitation was kind of unexpected but your answer saved me a lot
of time.
I was going to "hack" it thru the window id parameter, but I was afraid
pjmedia would use it for something.
And by doing the same thing using the vid_dev_param instead, probabbly I'm
not going to have any headaches.
Thank you.
2016-03-16 13:30 GMT-03:00 Bill Gardner billg@wavearts.com:
Hi,
I've also run into a similar problem, that pjsua media doesn't record the
associated call_id in either the stream (audio) or vid_stream structures.
For video I hacked it by passing the call_id in the pjmedia_vid_dev_param
structure when creating the video device. For audio I hacked it in
pjsua_aud_channel_update, when the audio stream is created, that's where
you can associate the stream to a call.
Regards,
Bill
On 3/16/2016 9:56 AM, poste9 wrote:
Hello everyone, I'm new here but I can't say I'm new to pjsip. I'm devoted
to make a pjsip based app for quite sometime now and with the knowledge
comes the curiosity and the need to make it work as good is it could, right?
So, for the last two months I'm working on a video renderer device based
on the SDL_dev.c
and after all this time I came to a conclusion not very good and I'm
wondering if you guys could give me some guidance.
The main reason to make another renderer is to get rid of the WindowID
depedency. I want to work with the buffer data, not the window handler.
Just to be specific. I already made it work, but it's not good enough for
me. Let me explain what I've done:
The first method used was very bad I do know that but it worked and I
really dont wanna come back to that.
Basically I was using pjemdia_event_publish to send frames and capture at
on_call_media_event.
Thats exactally what I want to do. Get decoded frame and send it to the
application.
The other way was actually developing a video renderer and implementing
put_frame API.
And now I realize I dont have everything I need to give the frame to the
application.
I could do this if I on my put_frame function I could get the call_id this
frame is related.
*Is there a way to get the call_id from inside the put_frame
implementation of the video renderer? *Or having the call_id on the
create_stream API would do as well.
The other way around would be to call something like
pjmedia_vid_dev_stream_get_frame
from application but I can't figure out a way to get
the pjmedia_vid_dev_stream pointer that is needed to get this function.
So..
Is there a way to get the pjmedia_vid_dev_stream of a given call_id ?
I really hope you guys can help me with that... I would hate to go back
and have to make it work by force.
Thank you very much!
Visit our blog: http://blog.pjsip.org
pjsip mailing listpjsip@lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
--