[FFmpeg-devel] [PATCH 2/3] avformat/internal: Improve documentation of ff_packet_list_get

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Aug 16 20:01:34 EEST 2019


The documentation of ff_packet_list_get currently didn't match the
actual usage:
1. It said that the destination packet is supposed to be initialized.
But this makes no sense given that it will be overwritten completely and
flacenc, mp3enc and ttaenc ignored this.
2. ff_packet_list_get returns an int, although it can't fail in case the
packet list is not empty (for which there is an assert). Again, several
callers didn't check for any return value.
In both cases, the documentation has been adapted to match actual usage.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavformat/internal.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavformat/internal.h b/libavformat/internal.h
index d6a039c497..163587f416 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -773,13 +773,16 @@ int ff_packet_list_put(AVPacketList **head, AVPacketList **tail,
 
 /**
  * Remove the oldest AVPacket in the list and return it.
+ * The behaviour is undefined if the packet list is empty.
  *
  * @note The pkt will be overwritten completely. The caller owns the
  *       packet and must unref it by itself.
  *
  * @param head List head element
  * @param tail List tail element
- * @param pkt  Pointer to an initialized AVPacket struct
+ * @param pkt  Pointer to an AVPacket struct
+ * @return 0 on success. Success is guaranteed
+ *         if the packet list is not empty.
  */
 int ff_packet_list_get(AVPacketList **head, AVPacketList **tail,
                        AVPacket *pkt);
-- 
2.21.0



More information about the ffmpeg-devel mailing list