History

avcodec/packet_internal: make avpriv_packet_list_* functions use an internal struct

The next pointer is kept at the end for backwards compatability until the major bump, when it should ideally be moved at the front.

James Almer committed 5 years ago

Commit d422b2e1 parent f7db77b16 files · +67 −58Browse files

Unified · Split

16 files
  1. libavcodec/avpacket.c +9 −9
  2. libavcodec/packet_internal.h +7 −3
  3. libavdevice/decklink_common.h +1 −1
  4. libavdevice/decklink_dec.cpp +5 −4
  5. libavdevice/dshow.c +5 −5
  6. libavdevice/dshow_capture.h +2 −1
  7. libavdevice/vfwcap.c +7 −6
  8. libavformat/aiffenc.c +2 −2
  9. libavformat/flacenc.c +1 −1
  10. libavformat/internal.h +7 −7
  11. libavformat/matroskadec.c +2 −2
  12. libavformat/mp3enc.c +1 −1
  13. libavformat/mux.c +6 −5
  14. libavformat/mxfenc.c +4 −3
  15. libavformat/ttaenc.c +1 −1
  16. libavformat/utils.c +7 −7
libavcodec/avpacket.c+9−9
@@ -737,13 +737,13 @@ FF_ENABLE_DEPRECATION_WARNINGS · 736 unmodified lines
737737 #endif
738738 }
739739
740−int avpriv_packet_list_put(AVPacketList **packet_buffer,
741− AVPacketList **plast_pktl,
740+int avpriv_packet_list_put(PacketList **packet_buffer,
741+ PacketList **plast_pktl,
742742 AVPacket *pkt,
743743 int (*copy)(AVPacket *dst, const AVPacket *src),
744744 int flags)
745745 {
746− AVPacketList *pktl = av_mallocz(sizeof(AVPacketList));
746+ PacketList *pktl = av_mallocz(sizeof(PacketList));
747747 int ret;
748748
749749 if (!pktl)
@@ -774,11 +774,11 @@ int avpriv_packet_list_put(AVPacketList **packet_buffer, · 24 unmodified lines
774774 return 0;
775775 }
776776
777−int avpriv_packet_list_get(AVPacketList **pkt_buffer,
778− AVPacketList **pkt_buffer_end,
777+int avpriv_packet_list_get(PacketList **pkt_buffer,
778+ PacketList **pkt_buffer_end,
779779 AVPacket *pkt)
780780 {
781− AVPacketList *pktl;
781+ PacketList *pktl;
782782 if (!*pkt_buffer)
783783 return AVERROR(EAGAIN);
784784 pktl = *pkt_buffer;
@@ -790,12 +790,12 @@ int avpriv_packet_list_get(AVPacketList **pkt_buffer, · 5 unmodified lines
790790 return 0;
791791 }
792792
793−void avpriv_packet_list_free(AVPacketList **pkt_buf, AVPacketList **pkt_buf_end)
793+void avpriv_packet_list_free(PacketList **pkt_buf, PacketList **pkt_buf_end)
794794 {
795− AVPacketList *tmp = *pkt_buf;
795+ PacketList *tmp = *pkt_buf;
796796
797797 while (tmp) {
798− AVPacketList *pktl = tmp;
798+ PacketList *pktl = tmp;
799799 tmp = pktl->next;
800800 av_packet_unref(&pktl->pkt);
801801 av_freep(&pktl);
libavcodec/packet_internal.h+7−3
@@ -23,6 +23,10 @@ · 22 unmodified lines
2323
2424 #include "packet.h"
2525
26+typedef struct PacketList {
27+ AVPacket pkt;
28+ struct PacketList *next;
29+} PacketList;
2630
2731 /**
2832 * Append an AVPacket to the list.
@@ -37,7 +41,7 @@ · 8 unmodified lines
3741 * @return 0 on success, negative AVERROR value on failure. On failure,
3842 the packet and the list are unchanged.
3943 */
40−int avpriv_packet_list_put(AVPacketList **head, AVPacketList **tail,
44+int avpriv_packet_list_put(PacketList **head, PacketList **tail,
4145 AVPacket *pkt,
4246 int (*copy)(AVPacket *dst, const AVPacket *src),
4347 int flags);
@@ -54,7 +58,7 @@ int avpriv_packet_list_put(AVPacketList **head, AVPacketList **tail, · 10 unmodified lines
5458 * @return 0 on success, and a packet is returned. AVERROR(EAGAIN) if
5559 * the list was empty.
5660 */
57−int avpriv_packet_list_get(AVPacketList **head, AVPacketList **tail,
61+int avpriv_packet_list_get(PacketList **head, PacketList **tail,
5862 AVPacket *pkt);
5963
6064 /**
@@ -63,7 +67,7 @@ int avpriv_packet_list_get(AVPacketList **head, AVPacketList **tail, · 2 unmodified lines
6367 * @param head List head element
6468 * @param tail List tail element
6569 */
66−void avpriv_packet_list_free(AVPacketList **head, AVPacketList **tail);
70+void avpriv_packet_list_free(PacketList **head, PacketList **tail);
6771
6872 int ff_side_data_set_encoder_stats(AVPacket *pkt, int quality, int64_t *error, int error_count, int pict_type);
6973
libavdevice/decklink_common.h+1−1
@@ -75,7 +75,7 @@ class decklink_output_callback; · 74 unmodified lines
7575 class decklink_input_callback;
7676
7777 typedef struct AVPacketQueue {
78− AVPacketList *first_pkt, *last_pkt;
78+ PacketList *first_pkt, *last_pkt;
7979 int nb_packets;
8080 unsigned long long size;
8181 int abort_request;
libavdevice/decklink_dec.cpp+5−4
@@ -35,6 +35,7 @@ extern "C" { · 34 unmodified lines
3535
3636 extern "C" {
3737 #include "config.h"
38+#include "libavcodec/packet_internal.h"
3839 #include "libavformat/avformat.h"
3940 #include "libavutil/avassert.h"
4041 #include "libavutil/avutil.h"
@@ -482,7 +483,7 @@ static void avpacket_queue_init(AVFormatContext *avctx, AVPacketQueue *q) · 441 unmodified lines
482483
483484 static void avpacket_queue_flush(AVPacketQueue *q)
484485 {
485− AVPacketList *pkt, *pkt1;
486+ PacketList *pkt, *pkt1;
486487
487488 pthread_mutex_lock(&q->mutex);
488489 for (pkt = q->first_pkt; pkt != NULL; pkt = pkt1) {
@@ -515,7 +516,7 @@ static unsigned long long avpacket_queue_size(AVPacketQueue *q) · 26 unmodified lines
515516
516517 static int avpacket_queue_put(AVPacketQueue *q, AVPacket *pkt)
517518 {
518− AVPacketList *pkt1;
519+ PacketList *pkt1;
519520
520521 // Drop Packet if queue size is > maximum queue size
521522 if (avpacket_queue_size(q) > (uint64_t)q->max_q_size) {
@@ -529,7 +530,7 @@ static int avpacket_queue_put(AVPacketQueue *q, AVPacket *pkt) · 7 unmodified lines
529530 return -1;
530531 }
531532
532− pkt1 = (AVPacketList *)av_malloc(sizeof(AVPacketList));
533+ pkt1 = (PacketList *)av_malloc(sizeof(PacketList));
533534 if (!pkt1) {
534535 av_packet_unref(pkt);
535536 return -1;
@@ -557,7 +558,7 @@ static int avpacket_queue_put(AVPacketQueue *q, AVPacket *pkt) · 21 unmodified lines
557558
558559 static int avpacket_queue_get(AVPacketQueue *q, AVPacket *pkt, int block)
559560 {
560− AVPacketList *pkt1;
561+ PacketList *pkt1;
561562 int ret;
562563
563564 pthread_mutex_lock(&q->mutex);
libavdevice/dshow.c+5−5
@@ -58,7 +58,7 @@ static int · 57 unmodified lines
5858 dshow_read_close(AVFormatContext *s)
5959 {
6060 struct dshow_ctx *ctx = s->priv_data;
61− AVPacketList *pktl;
61+ PacketList *pktl;
6262
6363 if (ctx->control) {
6464 IMediaControl_Stop(ctx->control);
@@ -118,7 +118,7 @@ dshow_read_close(AVFormatContext *s) · 53 unmodified lines
118118
119119 pktl = ctx->pktl;
120120 while (pktl) {
121− AVPacketList *next = pktl->next;
121+ PacketList *next = pktl->next;
122122 av_packet_unref(&pktl->pkt);
123123 av_free(pktl);
124124 pktl = next;
@@ -162,7 +162,7 @@ callback(void *priv_data, int index, uint8_t *buf, int buf_size, int64_t time, e · 37 unmodified lines
162162 {
163163 AVFormatContext *s = priv_data;
164164 struct dshow_ctx *ctx = s->priv_data;
165− AVPacketList **ppktl, *pktl_next;
165+ PacketList **ppktl, *pktl_next;
166166
167167 // dump_videohdr(s, vdhdr);
168168
@@ -171,7 +171,7 @@ callback(void *priv_data, int index, uint8_t *buf, int buf_size, int64_t time, e · 2 unmodified lines
171171 if(shall_we_drop(s, index, devtype))
172172 goto fail;
173173
174− pktl_next = av_mallocz(sizeof(AVPacketList));
174+ pktl_next = av_mallocz(sizeof(PacketList));
175175 if(!pktl_next)
176176 goto fail;
177177
@@ -1262,7 +1262,7 @@ static int dshow_check_event_queue(IMediaEvent *media_event) · 1084 unmodified lines
12621262 static int dshow_read_packet(AVFormatContext *s, AVPacket *pkt)
12631263 {
12641264 struct dshow_ctx *ctx = s->priv_data;
1265− AVPacketList *pktl = NULL;
1265+ PacketList *pktl = NULL;
12661266
12671267 while (!ctx->eof && !pktl) {
12681268 WaitForSingleObject(ctx->mutex, INFINITE);
libavdevice/dshow_capture.h+2−1
@@ -34,6 +34,7 @@ · 33 unmodified lines
3434 #include <dvdmedia.h>
3535
3636 #include "libavcodec/internal.h"
37+#include "libavcodec/packet_internal.h"
3738
3839 /* EC_DEVICE_LOST is not defined in MinGW dshow headers. */
3940 #ifndef EC_DEVICE_LOST
@@ -320,7 +321,7 @@ struct dshow_ctx { · 280 unmodified lines
320321 HANDLE mutex;
321322 HANDLE event[2]; /* event[0] is set by DirectShow
322323 * event[1] is set by callback() */
323− AVPacketList *pktl;
324+ PacketList *pktl;
324325
325326 int eof;
326327
libavdevice/vfwcap.c+7−6
@@ -24,6 +24,7 @@ · 23 unmodified lines
2424 #include "libavutil/opt.h"
2525 #include "libavutil/parseutils.h"
2626
27+#include "libavcodec/packet_internal.h"
2728 #include "libavformat/internal.h"
2829
2930 // windows.h must no be included before winsock2.h, and libavformat internal
@@ -44,7 +45,7 @@ struct vfw_ctx { · 14 unmodified lines
4445 HWND hwnd;
4546 HANDLE mutex;
4647 HANDLE event;
47− AVPacketList *pktl;
48+ PacketList *pktl;
4849 unsigned int curbufsize;
4950 unsigned int frame_num;
5051 char *video_size; /**< A string describing video size, set by a private option. */
@@ -178,7 +179,7 @@ static LRESULT CALLBACK videostream_cb(HWND hwnd, LPVIDEOHDR vdhdr) · 127 unmodified lines
178179 {
179180 AVFormatContext *s;
180181 struct vfw_ctx *ctx;
181− AVPacketList **ppktl, *pktl_next;
182+ PacketList **ppktl, *pktl_next;
182183
183184 s = (AVFormatContext *) GetWindowLongPtr(hwnd, GWLP_USERDATA);
184185 ctx = s->priv_data;
@@ -190,7 +191,7 @@ static LRESULT CALLBACK videostream_cb(HWND hwnd, LPVIDEOHDR vdhdr) · 5 unmodified lines
190191
191192 WaitForSingleObject(ctx->mutex, INFINITE);
192193
193− pktl_next = av_mallocz(sizeof(AVPacketList));
194+ pktl_next = av_mallocz(sizeof(PacketList));
194195 if(!pktl_next)
195196 goto fail;
196197
@@ -219,7 +220,7 @@ fail: · 22 unmodified lines
219220 static int vfw_read_close(AVFormatContext *s)
220221 {
221222 struct vfw_ctx *ctx = s->priv_data;
222− AVPacketList *pktl;
223+ PacketList *pktl;
223224
224225 if(ctx->hwnd) {
225226 SendMessage(ctx->hwnd, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);
@@ -233,7 +234,7 @@ static int vfw_read_close(AVFormatContext *s) · 7 unmodified lines
233234
234235 pktl = ctx->pktl;
235236 while (pktl) {
236− AVPacketList *next = pktl->next;
237+ PacketList *next = pktl->next;
237238 av_packet_unref(&pktl->pkt);
238239 av_free(pktl);
239240 pktl = next;
@@ -439,7 +440,7 @@ fail: · 199 unmodified lines
439440 static int vfw_read_packet(AVFormatContext *s, AVPacket *pkt)
440441 {
441442 struct vfw_ctx *ctx = s->priv_data;
442− AVPacketList *pktl = NULL;
443+ PacketList *pktl = NULL;
443444
444445 while(!pktl) {
445446 WaitForSingleObject(ctx->mutex, INFINITE);
libavformat/aiffenc.c+2−2
@@ -37,7 +37,7 @@ typedef struct AIFFOutputContext { · 36 unmodified lines
3737 int64_t frames;
3838 int64_t ssnd;
3939 int audio_stream_idx;
40− AVPacketList *pict_list, *pict_list_end;
40+ PacketList *pict_list, *pict_list_end;
4141 int write_id3v2;
4242 int id3v2_version;
4343 } AIFFOutputContext;
@@ -48,7 +48,7 @@ static int put_id3v2_tags(AVFormatContext *s, AIFFOutputContext *aiff) · 4 unmodified lines
4848 uint64_t pos, end, size;
4949 ID3v2EncContext id3v2 = { 0 };
5050 AVIOContext *pb = s->pb;
51− AVPacketList *pict_list = aiff->pict_list;
51+ PacketList *pict_list = aiff->pict_list;
5252
5353 if (!s->metadata && !s->nb_chapters && !aiff->pict_list)
5454 return 0;
libavformat/flacenc.c+1−1
@@ -39,7 +39,7 @@ typedef struct FlacMuxerContext { · 38 unmodified lines
3939 int audio_stream_idx;
4040 int waiting_pics;
4141 /* audio packets are queued here until we get all the attached pictures */
42− AVPacketList *queue, *queue_end;
42+ PacketList *queue, *queue_end;
4343
4444 /* updated streaminfo sent by the encoder at the end */
4545 uint8_t streaminfo[FLAC_STREAMINFO_SIZE];
libavformat/internal.h+7−7
@@ -73,8 +73,8 @@ struct AVFormatInternal { · 72 unmodified lines
7373 * not decoded, for example to get the codec parameters in MPEG
7474 * streams.
7575 */
76− struct AVPacketList *packet_buffer;
77− struct AVPacketList *packet_buffer_end;
76+ struct PacketList *packet_buffer;
77+ struct PacketList *packet_buffer_end;
7878
7979 /* av_seek_frame() support */
8080 int64_t data_offset; /**< offset of the first packet */
@@ -85,13 +85,13 @@ struct AVFormatInternal { · 4 unmodified lines
8585 * be identified, as parsing cannot be done without knowing the
8686 * codec.
8787 */
88− struct AVPacketList *raw_packet_buffer;
89− struct AVPacketList *raw_packet_buffer_end;
88+ struct PacketList *raw_packet_buffer;
89+ struct PacketList *raw_packet_buffer_end;
9090 /**
9191 * Packets split by the parser get queued here.
9292 */
93− struct AVPacketList *parse_queue;
94− struct AVPacketList *parse_queue_end;
93+ struct PacketList *parse_queue;
94+ struct PacketList *parse_queue_end;
9595 /**
9696 * Remaining size available for raw_packet_buffer, in bytes.
9797 */
@@ -347,7 +347,7 @@ struct AVStreamInternal { · 249 unmodified lines
347347 /**
348348 * last packet in packet_buffer for this stream when muxing.
349349 */
350− struct AVPacketList *last_in_packet_buffer;
350+ struct PacketList *last_in_packet_buffer;
351351 };
352352
353353 #ifdef __GNUC__
libavformat/matroskadec.c+2−2
@@ -382,8 +382,8 @@ typedef struct MatroskaDemuxContext { · 381 unmodified lines
382382 int64_t segment_start;
383383
384384 /* the packet queue */
385− AVPacketList *queue;
386− AVPacketList *queue_end;
385+ PacketList *queue;
386+ PacketList *queue_end;
387387
388388 int done;
389389
libavformat/mp3enc.c+1−1
@@ -132,7 +132,7 @@ typedef struct MP3Context { · 131 unmodified lines
132132 int pics_to_write;
133133
134134 /* audio packets are queued here until we get all the attached pictures */
135− AVPacketList *queue, *queue_end;
135+ PacketList *queue, *queue_end;
136136 } MP3Context;
137137
138138 static const uint8_t xing_offtbl[2][2] = {{32, 17}, {17, 9}};
libavformat/mux.c+6−5
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include "avformat.h"
2323 #include "internal.h"
2424 #include "libavcodec/internal.h"
25+#include "libavcodec/packet_internal.h"
2526 #include "libavutil/opt.h"
2627 #include "libavutil/dict.h"
2728 #include "libavutil/pixdesc.h"
@@ -830,11 +831,11 @@ int ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt, · 802 unmodified lines
830831 int (*compare)(AVFormatContext *, const AVPacket *, const AVPacket *))
831832 {
832833 int ret;
833− AVPacketList **next_point, *this_pktl;
834+ PacketList **next_point, *this_pktl;
834835 AVStream *st = s->streams[pkt->stream_index];
835836 int chunked = s->max_chunk_size || s->max_chunk_duration;
836837
837− this_pktl = av_malloc(sizeof(AVPacketList));
838+ this_pktl = av_malloc(sizeof(PacketList));
838839 if (!this_pktl) {
839840 av_packet_unref(pkt);
840841 return AVERROR(ENOMEM);
@@ -931,7 +932,7 @@ static int interleave_compare_dts(AVFormatContext *s, const AVPacket *next, · 90 unmodified lines
931932 int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
932933 AVPacket *pkt, int flush)
933934 {
934− AVPacketList *pktl;
935+ PacketList *pktl;
935936 int stream_count = 0;
936937 int noninterleaved_count = 0;
937938 int i, ret;
@@ -968,7 +969,7 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, · 30 unmodified lines
968969
969970 for (i = 0; i < s->nb_streams; i++) {
970971 int64_t last_dts;
971− const AVPacketList *last = s->streams[i]->internal->last_in_packet_buffer;
972+ const PacketList *last = s->streams[i]->internal->last_in_packet_buffer;
972973
973974 if (!last)
974975 continue;
@@ -1064,7 +1065,7 @@ int ff_get_muxer_ts_offset(AVFormatContext *s, int stream_index, int64_t *offset · 89 unmodified lines
10641065
10651066 const AVPacket *ff_interleaved_peek(AVFormatContext *s, int stream)
10661067 {
1067− AVPacketList *pktl = s->internal->packet_buffer;
1068+ PacketList *pktl = s->internal->packet_buffer;
10681069 while (pktl) {
10691070 if (pktl->pkt.stream_index == stream) {
10701071 return &pktl->pkt;
libavformat/mxfenc.c+4−3
@@ -53,6 +53,7 @@ · 52 unmodified lines
5353 #include "libavcodec/h264_ps.h"
5454 #include "libavcodec/golomb.h"
5555 #include "libavcodec/internal.h"
56+#include "libavcodec/packet_internal.h"
5657 #include "avformat.h"
5758 #include "avio_internal.h"
5859 #include "internal.h"
@@ -3104,9 +3105,9 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket · 3045 unmodified lines
31043105 stream_count += !!s->streams[i]->internal->last_in_packet_buffer;
31053106
31063107 if (stream_count && (s->nb_streams == stream_count || flush)) {
3107− AVPacketList *pktl = s->internal->packet_buffer;
3108+ PacketList *pktl = s->internal->packet_buffer;
31083109 if (s->nb_streams != stream_count) {
3109− AVPacketList *last = NULL;
3110+ PacketList *last = NULL;
31103111 // find last packet in edit unit
31113112 while (pktl) {
31123113 if (!stream_count || pktl->pkt.stream_index == 0)
@@ -3120,7 +3121,7 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket · 7 unmodified lines
31203121 }
31213122 // purge packet queue
31223123 while (pktl) {
3123− AVPacketList *next = pktl->next;
3124+ PacketList *next = pktl->next;
31243125 av_packet_unref(&pktl->pkt);
31253126 av_freep(&pktl);
31263127 pktl = next;
libavformat/ttaenc.c+1−1
@@ -30,7 +30,7 @@ · 29 unmodified lines
3030
3131 typedef struct TTAMuxContext {
3232 AVIOContext *seek_table;
33− AVPacketList *queue, *queue_end;
33+ PacketList *queue, *queue_end;
3434 uint32_t nb_samples;
3535 int frame_size;
3636 int last_frame;
libavformat/utils.c+7−7
@@ -812,7 +812,7 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt) · 811 unmodified lines
812812 av_init_packet(pkt);
813813
814814 for (;;) {
815− AVPacketList *pktl = s->internal->raw_packet_buffer;
815+ PacketList *pktl = s->internal->raw_packet_buffer;
816816 const AVPacket *pkt1;
817817
818818 if (pktl) {
@@ -1020,7 +1020,7 @@ static int has_decode_delay_been_guessed(AVStream *st) · 201 unmodified lines
10201020 return st->internal->nb_decoded_frames >= 20;
10211021 }
10221022
1023−static AVPacketList *get_next_pkt(AVFormatContext *s, AVStream *st, AVPacketList *pktl)
1023+static PacketList *get_next_pkt(AVFormatContext *s, AVStream *st, PacketList *pktl)
10241024 {
10251025 if (pktl->next)
10261026 return pktl->next;
@@ -1076,7 +1076,7 @@ static int64_t select_from_pts_buffer(AVStream *st, int64_t *pts_buffer, int64_t · 49 unmodified lines
10761076 * of the packets in a window.
10771077 */
10781078 static void update_dts_from_pts(AVFormatContext *s, int stream_index,
1079− AVPacketList *pkt_buffer)
1079+ PacketList *pkt_buffer)
10801080 {
10811081 AVStream *st = s->streams[stream_index];
10821082 int delay = st->internal->avctx->has_b_frames;
@@ -1105,8 +1105,8 @@ static void update_initial_timestamps(AVFormatContext *s, int stream_index, · 22 unmodified lines
11051105 int64_t dts, int64_t pts, AVPacket *pkt)
11061106 {
11071107 AVStream *st = s->streams[stream_index];
1108− AVPacketList *pktl = s->internal->packet_buffer ? s->internal->packet_buffer : s->internal->parse_queue;
1109− AVPacketList *pktl_it;
1108+ PacketList *pktl = s->internal->packet_buffer ? s->internal->packet_buffer : s->internal->parse_queue;
1109+ PacketList *pktl_it;
11101110
11111111 uint64_t shift;
11121112
@@ -1157,7 +1157,7 @@ static void update_initial_timestamps(AVFormatContext *s, int stream_index, · 44 unmodified lines
11571157 static void update_initial_durations(AVFormatContext *s, AVStream *st,
11581158 int stream_index, int64_t duration)
11591159 {
1160− AVPacketList *pktl = s->internal->packet_buffer ? s->internal->packet_buffer : s->internal->parse_queue;
1160+ PacketList *pktl = s->internal->packet_buffer ? s->internal->packet_buffer : s->internal->parse_queue;
11611161 int64_t cur_dts = RELATIVE_TS_BASE;
11621162
11631163 if (st->first_dts != AV_NOPTS_VALUE) {
@@ -1742,7 +1742,7 @@ int av_read_frame(AVFormatContext *s, AVPacket *pkt) · 578 unmodified lines
17421742 }
17431743
17441744 for (;;) {
1745− AVPacketList *pktl = s->internal->packet_buffer;
1745+ PacketList *pktl = s->internal->packet_buffer;
17461746
17471747 if (pktl) {
17481748 AVPacket *next_pkt = &pktl->pkt;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t