Need Help Regarding SRTPDEC request_key_callback

sameer sameer.thapa at evontech.com
Wed Apr 8 15:33:02 UTC 2020


On returning caps instead of *caps the app is crashing without showing 
any errorlogs.

Do I need to add the callback method in the class as a member method?

On 08/04/20 7:20 pm, Lefteris Diakakis wrote:
>
> *From:*Olivier Crête <olivier.crete at collabora.com>
> *Sent:* Wednesday, April 8, 2020 4:47 PM
> *To:* Discussion of the development of and with GStreamer 
> <gstreamer-devel at lists.freedesktop.org>
> *Cc:* Lefteris Diakakis <ldiakakis at rtelworld.com>
> *Subject:* Re: Need Help Regarding SRTPDEC request_key_callback
>
> Hi,
>
> On Wed, 2020-04-08 at 18:52 +0530, sameer wrote:
>
>     Thank you for the quick reply!
>
>     We have not unref the srtpdec object anywhere. Even made the
>     srtpdec object global.
>
>     Following is our implementation of callback:
>
>     g_signal_connect(G_OBJECT(srtpdec), "request-key", G_CALLBACK
>     (request_key_callback), &masterKey);
>
>     // masterKey is string
>
>     // srtpdec is global GstElement
>
>     GstCaps request_key_callback (GstElement  gstsrtpdec, guint  ssrc,
>     gpointer  udata)
>
> The return value should be a "GstCaps *"
>
>     {
>         string *key = (string*)udata;
>         GstCaps *caps = gst_caps_new_simple ("application/x-srtp",
>           "payload", G_TYPE_INT, 0,
>           "ssrc", G_TYPE_UINT, ssrc,
>           "srtp-key", G_TYPE_STRING, key->c_str(),
>           "srtp-auth", G_TYPE_STRING, "hmac-sha1-80",
>           "srtp-cipher", G_TYPE_STRING, "aes-128-icm",
>           "srtcp-auth", G_TYPE_STRING, "hmac-sha1-80",
>           "srtcp-cipher", G_TYPE_STRING, "aes-128-icm",
>           "roc", G_TYPE_UINT, 0,
>           NULL);
>         return *caps;
>     }
>
> And you should "return caps;"
>
> Olivier
>
>     Is it the correct way?
>
>     Thanks
>
>         *From:*Olivier Crête <olivier.crete at collabora.com>
>         <mailto:olivier.crete at collabora.com>
>         *Sent:* Wednesday, April 8, 2020 3:52 PM
>         *To:* Discussion of the development of and with GStreamer
>         <gstreamer-devel at lists.freedesktop.org>
>         <mailto:gstreamer-devel at lists.freedesktop.org>
>         *Cc:* Lefteris Diakakis <ldiakakis at rtelworld.com>
>         <mailto:ldiakakis at rtelworld.com>
>         *Subject:* Re: Need Help Regarding SRTPDEC request_key_callback
>
>         Hi,
>
>         On Wed, 2020-04-08 at 14:37 +0530, sameer wrote:
>
>             The ssrc is not received in sdp. I have implemented the
>             callback function to return capstring as mentioned in the
>             documentation
>             <https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/gst-plugins-bad-plugins-srtpdec.html>
>             :
>
>             *static GstCaps request_key_callback (GstElement
>             gstsrtpdec, guint  ssrc, gpointer  udata) *
>
>             The capstring returned is like:
>
>             *"
>             application/x-srtp,channels=(int)1,media=(string)audio,payload=(int)0,clock-rate=(int)8000,encoding-name=(string)PCMU,ssrc=(uint)1932929554,srtp-key=(buffer)4d73554e564e334354466141365042324168614444436c4a456a754a497673747a354e5961694d5a,srtp-cipher=(string)aes-128-icm,srtp-auth=(string)hmac-sha1-32,srtcp-cipher=(string)aes-128-icm,srtcp-auth=(string)hmac-sha1-32,roc=(uint)0
>             "*
>
>             But after the callback invokes I am receiving following error:
>
>             *(recorder:32537): GLib-GObject-CRITICAL **: 14:18:06.064:
>             g_object_unref: assertion 'G_IS_OBJECT (object)' failed
>
>             ** (recorder:32537): CRITICAL **: 14:18:06.064:
>             update_session_stream_from_caps: assertion
>             'GST_IS_SRTP_DEC (filter)' failed*
>
>             and the app crashes.
>
>             Can anyone tell me what mistake I am making. I am not able
>             to find much in the documentation or any examples.
>
>         You probably unref the srtpdec object somewhere where you
>         shouldn't.
>
>         -- 
>
>         Olivier Crête
>
>         <mailto:olivier.crete at collabora.com>
>
>         _olivier.crete at collabora.com<mailto:olivier.crete at collabora.com>_
>
>     _______________________________________________
>
>     gstreamer-devel mailing list
>
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>
>     _gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>_
>
>     <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>
>     _https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel_
>
> -- 
> Olivier Crête
> olivier.crete at collabora.com  <mailto:olivier.crete at collabora.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200408/1dd094fc/attachment.htm>


More information about the gstreamer-devel mailing list