[FFmpeg-cvslog] rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Martin Storsjö git at videolan.org
Sun Mar 1 01:42:03 CET 2015


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Fri Feb 27 12:32:42 2015 +0200| [bde2bba45c2f2df27a8534028bda09a6e7f835e2] | committer: Martin Storsjö

rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Factorize out the s->num_frames check at the start of the if statements,
simplifying adding more alternative causes for sending the buffered
frames.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bde2bba45c2f2df27a8534028bda09a6e7f835e2
---

 libavformat/rtpenc_aac.c  |    4 +++-
 libavformat/rtpenc_amr.c  |    4 +++-
 libavformat/rtpenc_xiph.c |    5 +++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/libavformat/rtpenc_aac.c b/libavformat/rtpenc_aac.c
index 0a74e27..7805ab9 100644
--- a/libavformat/rtpenc_aac.c
+++ b/libavformat/rtpenc_aac.c
@@ -39,7 +39,9 @@ void ff_rtp_send_aac(AVFormatContext *s1, const uint8_t *buff, int size)
 
     /* test if the packet must be sent */
     len = (s->buf_ptr - s->buf);
-    if ((s->num_frames == s->max_frames_per_packet) || (s->num_frames && (len + size) > s->max_payload_size)) {
+    if (s->num_frames &&
+        (s->num_frames == s->max_frames_per_packet ||
+         (len + size) > s->max_payload_size)) {
         int au_size = s->num_frames * 2;
 
         p = s->buf + max_au_headers_size - au_size - 2;
diff --git a/libavformat/rtpenc_amr.c b/libavformat/rtpenc_amr.c
index 9f4f21a..6da5f0f 100644
--- a/libavformat/rtpenc_amr.c
+++ b/libavformat/rtpenc_amr.c
@@ -36,7 +36,9 @@ void ff_rtp_send_amr(AVFormatContext *s1, const uint8_t *buff, int size)
 
     /* Test if the packet must be sent. */
     len = s->buf_ptr - s->buf;
-    if (s->num_frames == s->max_frames_per_packet || (s->num_frames && len + size - 1 > s->max_payload_size)) {
+    if (s->num_frames &&
+        (s->num_frames == s->max_frames_per_packet ||
+         len + size - 1 > s->max_payload_size)) {
         int header_size = s->num_frames + 1;
         p = s->buf + max_header_toc_size - header_size;
         if (p != s->buf)
diff --git a/libavformat/rtpenc_xiph.c b/libavformat/rtpenc_xiph.c
index 7d8883a..2167bdc 100644
--- a/libavformat/rtpenc_xiph.c
+++ b/libavformat/rtpenc_xiph.c
@@ -75,8 +75,9 @@ void ff_rtp_send_xiph(AVFormatContext *s1, const uint8_t *buff, int size)
         int remaining    = end_ptr - ptr;
 
         assert(s->num_frames <= s->max_frames_per_packet);
-        if ((s->num_frames > 0 && remaining < 0) ||
-            s->num_frames == s->max_frames_per_packet) {
+        if (s->num_frames > 0 &&
+            (remaining < 0 ||
+             s->num_frames == s->max_frames_per_packet)) {
             // send previous packets now; no room for new data
             ff_rtp_send_data(s1, s->buf, s->buf_ptr - s->buf, 0);
             s->num_frames = 0;



More information about the ffmpeg-cvslog mailing list