static int packet_queue_put_private(PacketQueue q, Native <AV.AVPacket> pkt) { MyAVPacketList pkt1 = new MyAVPacketList(); if (q.abort_request != 0) { return(-1); } pkt1.pkt = pkt; pkt1.next = null; if (pkt.P == flush_pkt.P) { q.serial++; } pkt1.serial = q.serial; if (q.last_pkt == null) { q.first_pkt = pkt1; } else { q.last_pkt.next = pkt1; } q.last_pkt = pkt1; q.nb_packets++; q.size += pkt1.pkt.O.size + Marshal.SizeOf(pkt.O) + 12; /* XXX: should duplicate packet data in DV case */ SDL.SDL_CondSignal(q.cond); return(0); }
static int packet_queue_put_private(PacketQueue q, Native<AV.AVPacket> pkt) { MyAVPacketList pkt1 = new MyAVPacketList(); if (q.abort_request != 0) return -1; pkt1.pkt = pkt; pkt1.next = null; if (pkt.P == flush_pkt.P) q.serial++; pkt1.serial = q.serial; if (q.last_pkt == null) q.first_pkt = pkt1; else q.last_pkt.next = pkt1; q.last_pkt = pkt1; q.nb_packets++; q.size += pkt1.pkt.O.size + Marshal.SizeOf(pkt.O) + 12; /* XXX: should duplicate packet data in DV case */ SDL.SDL_CondSignal(q.cond); return 0; }