[asterisk-dev] [Code Review] 3703: media_formats: Move format attribute modules over, tweak API, and fix some bugs.

Corey Farrell reviewboard at asterisk.org
Wed Jul 2 15:38:59 CDT 2014



> On July 2, 2014, 4:25 p.m., Corey Farrell wrote:
> > /team/group/media_formats-reviewed-trunk/include/asterisk/format.h, lines 51-60
> > <https://reviewboard.asterisk.org/r/3703/diff/2/?file=62046#file62046line51>
> >
> >     Every format_clone function is identical, except for the obvious adjustment for sizeof(*attr).  I think it would be better for ast_format_interface to store sizeof(*attr).  Then make ast_format_clone just handle copying the attribute data.  We could keep format_clone as an optional callback for situations where a deep copy is required - like if attribute has a pointer that must be deep copied.
> 
> Joshua Colp wrote:
>     That makes no attribute_data no longer opaque, you assume it is something that can just be copied like that. I'm not sure I'm okay with that.

I was looking at attribute_data as an opaque structure of a fixed size per ast_format_interface.  Unless you feel that we need to support variable sized attribute_data then I don't see this is an issue.  The optional callback would allow a format_attr module to reallocate pointers or bump ao2's in attribute_data fields.


- Corey


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3703/#review12443
-----------------------------------------------------------


On July 2, 2014, 3:24 p.m., Joshua Colp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3703/
> -----------------------------------------------------------
> 
> (Updated July 2, 2014, 3:24 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-23957
>     https://issues.asterisk.org/jira/browse/ASTERISK-23957
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This change does a few things:
> 
> 1. Fixes an issue where direct format interfaces were treated as AO2 objects when they were not.
> 2. Added an ast_format_clone API call which clones and deep copies a format, returning one which can be safely modified.
> 3. Changed the format interface API so anything which manipulates the format returns a new format.
> 4. Added get/set functions for format attribute data.
> 5. Added an API call to replace the format in an RTP engine codecs structure.
> 6. Updated the res_format_attr_* modules to work with the new media formats work.
> 7. Added support for loading an interface module after a format has been created.
> 
> 
> Diffs
> -----
> 
>   /team/group/media_formats-reviewed-trunk/res/res_pjsip_sdp_rtp.c 417769 
>   /team/group/media_formats-reviewed-trunk/res/res_format_attr_silk.c 417769 
>   /team/group/media_formats-reviewed-trunk/res/res_format_attr_opus.c 417769 
>   /team/group/media_formats-reviewed-trunk/res/res_format_attr_h264.c 417769 
>   /team/group/media_formats-reviewed-trunk/res/res_format_attr_h263.c 417769 
>   /team/group/media_formats-reviewed-trunk/res/res_format_attr_celt.c 417769 
>   /team/group/media_formats-reviewed-trunk/main/rtp_engine.c 417769 
>   /team/group/media_formats-reviewed-trunk/main/format.c 417769 
>   /team/group/media_formats-reviewed-trunk/include/asterisk/rtp_engine.h 417769 
>   /team/group/media_formats-reviewed-trunk/include/asterisk/format.h 417769 
>   /team/group/media_formats-reviewed-trunk/channels/chan_sip.c 417769 
> 
> Diff: https://reviewboard.asterisk.org/r/3703/diff/
> 
> 
> Testing
> -------
> 
> Placed calls in and out, confirmed that the attribute stuff doesn't crash things and that received SDP is parsed and interpreted. What doesn't currently work is passing this information through so outgoing calls have the correct attributes.
> 
> 
> Thanks,
> 
> Joshua Colp
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140702/437615d8/attachment-0001.html>


More information about the asterisk-dev mailing list