| OLD | NEW |
| 1 /* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited | 1 /* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited |
| 2 Written by Jean-Marc Valin and Koen Vos */ | 2 Written by Jean-Marc Valin and Koen Vos */ |
| 3 /* | 3 /* |
| 4 Redistribution and use in source and binary forms, with or without | 4 Redistribution and use in source and binary forms, with or without |
| 5 modification, are permitted provided that the following conditions | 5 modification, are permitted provided that the following conditions |
| 6 are met: | 6 are met: |
| 7 | 7 |
| 8 - Redistributions of source code must retain the above copyright | 8 - Redistributions of source code must retain the above copyright |
| 9 notice, this list of conditions and the following disclaimer. | 9 notice, this list of conditions and the following disclaimer. |
| 10 | 10 |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 /**@}*/ | 609 /**@}*/ |
| 610 | 610 |
| 611 /** @defgroup opus_repacketizer Repacketizer | 611 /** @defgroup opus_repacketizer Repacketizer |
| 612 * @{ | 612 * @{ |
| 613 * | 613 * |
| 614 * The repacketizer can be used to merge multiple Opus packets into a single | 614 * The repacketizer can be used to merge multiple Opus packets into a single |
| 615 * packet or alternatively to split Opus packets that have previously been | 615 * packet or alternatively to split Opus packets that have previously been |
| 616 * merged. Splitting valid Opus packets is always guaranteed to succeed, | 616 * merged. Splitting valid Opus packets is always guaranteed to succeed, |
| 617 * whereas merging valid packets only succeeds if all frames have the same | 617 * whereas merging valid packets only succeeds if all frames have the same |
| 618 * mode, bandwidth, and frame size, and when the total duration of the merged | 618 * mode, bandwidth, and frame size, and when the total duration of the merged |
| 619 * packet is no more than 120 ms. | 619 * packet is no more than 120 ms. The 120 ms limit comes from the |
| 620 * specification and limits decoder memory requirements at a point where |
| 621 * framing overhead becomes negligible. |
| 622 * |
| 620 * The repacketizer currently only operates on elementary Opus | 623 * The repacketizer currently only operates on elementary Opus |
| 621 * streams. It will not manipualte multistream packets successfully, except in | 624 * streams. It will not manipualte multistream packets successfully, except in |
| 622 * the degenerate case where they consist of data from a single stream. | 625 * the degenerate case where they consist of data from a single stream. |
| 623 * | 626 * |
| 624 * The repacketizing process starts with creating a repacketizer state, either | 627 * The repacketizing process starts with creating a repacketizer state, either |
| 625 * by calling opus_repacketizer_create() or by allocating the memory yourself, | 628 * by calling opus_repacketizer_create() or by allocating the memory yourself, |
| 626 * e.g., | 629 * e.g., |
| 627 * @code | 630 * @code |
| 628 * OpusRepacketizer *rp; | 631 * OpusRepacketizer *rp; |
| 629 * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); | 632 * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 */ | 972 */ |
| 970 OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_packet_unpad(uns
igned char *data, opus_int32 len, int nb_streams); | 973 OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_packet_unpad(uns
igned char *data, opus_int32 len, int nb_streams); |
| 971 | 974 |
| 972 /**@}*/ | 975 /**@}*/ |
| 973 | 976 |
| 974 #ifdef __cplusplus | 977 #ifdef __cplusplus |
| 975 } | 978 } |
| 976 #endif | 979 #endif |
| 977 | 980 |
| 978 #endif /* OPUS_H */ | 981 #endif /* OPUS_H */ |
| OLD | NEW |