mirrored from git://anongit.freedesktop.org/gstreamer/gst-libav
-
Notifications
You must be signed in to change notification settings - Fork 31
/
ChangeLog
14209 lines (10358 loc) · 487 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=== release 1.19.2 ===
2021-09-23 01:35:17 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:
* meson.build:
Release 1.19.2
2021-09-18 11:51:03 +0300 Sebastian Dröge <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
avcodecmap: Add support for GBRA_10LE/BE
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/142>
2021-08-06 17:41:19 +0200 Stéphane Cerveau <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavdemux.c:
avdemux: add xwma support
Add xwma tested with the media
b8edfb1e970ed7892f35b34a1ef36fee_wma.wav
from this ticket:
http://trac.ffmpeg.org/ticket/9358
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/138>
2020-01-22 12:41:27 -0500 Olivier Crête <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavviddec.c:
avviddec: Enable subframe decoding for H.264
Enable sending NAL units to the decoder without having to first
group them in a frame (an AU).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/66>
2020-01-22 12:39:47 -0500 Olivier Crête <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Split allocation tracking from decode-only-ness
When doing subframe decoding, handle_frame will be called multiple
times, so the DECODE_ONLY flag gets re-set when it shouldn't. Instead,
let's create our own flag to track this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/66>
2021-06-21 08:33:59 +0000 Corentin Damman <[email protected]>
* COPYING:
Update COPYING
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/135>
2021-06-03 06:01:30 -0400 Doug Nazar <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Fix size of linesize parameter
Although avcodec_align_dimensions2() only copies 4 ints, it expects
a buffer of at least AV_NUM_DATA_POINTERS (8) ints.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/134>
2021-06-01 15:29:04 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.19.1 ===
2021-06-01 00:14:52 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:
* meson.build:
Release 1.19.1
2021-04-29 21:32:18 -0400 Doug Nazar <[email protected]>
* ext/libav/gstavmux.c:
avmux: Blacklist ttml subtitles
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/133>
2021-04-24 10:04:23 +0200 Edward Hervey <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Take into account coded_height for pool
Failure to do this would cause the decoders to constantly request a new
bufferpool thinking the height had changed ... whereas it hadn't.
Fixes #95
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/131>
2021-04-13 00:45:41 +0100 Tim-Philipp Müller <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavviddec.c:
* ext/libav/gstavviddec.h:
avviddec: deprecated debug-mv property to match deprecation in FFmpeg
This has been unimplemented and non-functional for years
and was deprecated with FFmpeg 4.4.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/126>
2021-04-13 01:07:15 +0100 Tim-Philipp Müller <[email protected]>
* ext/libav/gstavdemux.c:
avdemux: fix build with FFmpeg 4.4
Direct access to avstream->index_entries was removed
in favour of the newly added avformat_index_get_entry()
and friends.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/127>
2021-01-19 13:19:31 -0800 Nicholas Jackson <[email protected]>
* ext/libav/gstavmux.c:
avmux: fix segfault when a plugin's long_name is NULL
Some plugins register an empty long_name field. Check for this
before calling strcmp to avoid a crash.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/114>
2021-03-15 20:35:35 +0100 Jade Macho <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
Hook up audio/x-xma: xmaversion: [1,2] to AV_CODEC_ID_XMA[1,2]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/124>
2021-03-03 10:51:04 +0200 Sebastian Dröge <[email protected]>
* ext/libav/gstavcodecmap.c:
avcodecmap: Don't try converting channel layouts with more than 64 channels
We only support up to 64 channels in GStreamer with a specific layout so
it's safe to assume a NONE layout in this case.
Also the arrays of channel positions are allocated everywhere with 64
elements so don't try setting more than 64 to NONE as that will cause
stack corruptions and similar memory safety issues.
Thanks to Natalie Silvanovich for reporting this issue.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/92
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/120>
2020-12-02 15:43:15 +1100 Matthew Waters <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: take the maximum of the height/coded_height
Otherwise, some h.264 streams (particularly with cropping information)
may cause memory corruption after a renegotiation to a smaller size when
decoded and then ffmpeg writes past the end of the buffer.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/80
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/110>
2021-01-28 06:11:14 +0000 Matthew Waters <[email protected]>
* ext/libav/gstavviddec.c:
viddec: don't configure and incorrect buffer pool when receiving a gap event
Scenario is this:
1. libav receives enough data to want a buffer with get_buffer2()
which wants a buffer pool with a certain format, say Y42B but does
not negotiate and therefore GstVideoDecoder does not have any output
state configured
2. A gap event is received which GstVideoDecoder wants to forward. It
needs caps to forward the gap event so attempts to negotiate with some
default information which chooses e.g. I420 and overwrites the
previously configured bufferpool decided on by get_buffer2()
3. There is a mismatch between what ensure_internal_pool() check for
consistency and what decide_allocation() sets when overriding the
internal pool with the downstream pool.
4. FFMpeg then requests a Y42B buffer from an I420 pool and predictably
crashes writing past the contents of the buffer
This is fixed by keeping track of the internal pool states correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/116>
2021-01-29 14:02:42 +0200 Vivia Nikolaidou <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavviddec.c:
avviddec: Support for alternate-field interlacing
Not yet supported in FFmpeg, so we temporarily rely on the parser
setting the correct buffer flags for us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/115>
2020-12-30 01:15:16 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Drain decoder on decoding failure
... and call finish_frame() so that baseclass can reset internal
status. Otherwise baseclass will keep holding the status for
decoding failed frame which will result in outputting buffer with
wrong timestamp.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/112>
2020-12-14 15:33:16 +1100 Jan Schmidt <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
codec map: Add a mapping for the OKI ADPCM variant.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/111>
2020-11-04 18:44:54 +0530 Nirbheek Chauhan <[email protected]>
* meson.build:
meson: Enable some MSVC warnings for parity with GCC/Clang
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.
Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/109>
2020-10-27 06:33:29 -0400 Arun Raghavan <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Check planar-ness of frame rather than context
The check seems to be to present to verify that the decoded frame
matches the format we expect. The actual check for the layout of the
frame was being performed against the context instead.
The check fails at least for avdec_aptx_hd, where the AVCodecContext has
the sample format set to AV_SAMPLE_FMT_NONE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/107>
2020-10-06 18:19:12 +0900 Seungha Yang <[email protected]>
* tests/check/elements/avaudenc.c:
* tests/check/elements/avvidenc.c:
* tests/check/meson.build:
tests: Add audio/video encoder test
Add simple encoder drain test case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/100>
2020-10-01 11:45:57 +0200 Edward Hervey <[email protected]>
* meson.build:
* meson_options.txt:
* tests/check/meson.build:
* tests/meson.build:
build: Re-enable unit tests
Looks like they weren't ported when we switched to meson
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/100>
2020-10-06 03:47:42 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavaudenc.c:
* ext/libav/gstavaudenc.h:
* ext/libav/gstavutils.h:
* ext/libav/gstavvidenc.c:
* ext/libav/gstavvidenc.h:
avaudenc/avvidenc: Reopen encoding session if it's required
Since the commit https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/22b25b3ea5c,
ffmpeg will not clear draning flag for encoder by avcodec_flush_buffers() API
by default. Allowed case is only if encoder has AV_CODEC_CAP_ENCODER_FLUSH
capability flag. If it's not supported, we should re-open encoding
session, otherwise ffmpeg encoder will keep returning AVERROR_EOF
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/99>
2020-10-01 11:18:58 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: Call avcodec_flush_buffers() after draining to allow accepting new input again
This is already done in all other codec elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/97>
2020-09-30 16:13:28 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavauddec.c:
* ext/libav/gstavaudenc.c:
* ext/libav/gstavviddec.c:
* ext/libav/gstavvidenc.c:
avauddec/audenc/videnc: Don't return GST_FLOW_EOS when draining
Same behaviour as for avviddec now. FFmpeg will return AVERROR_EOF when it's
completely drained but we should not return that here or otherwise
upstream will receive EOS and not forward us more data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/97>
2020-09-16 03:13:09 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Don't return GST_FLOW_EOS from drain()/finish()
AVERROR_EOF means that it's fully drained, but it doesn't
mean that that end of stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-15 02:12:23 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Ensure finish_subframe() and finish_frame() are paired
audiodecoder baseclass implementation is expecting that
finish_subframe() is followed by finish_frame() in order clear
its internal state related to subframe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-14 14:30:35 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Forward flow returns from draining instead of assuming OK
It might be useful for upstream to know that draining/finishing didn't
succeed, and why.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-14 14:24:51 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Forward flow returns from draining instead of assuming OK
It might be useful for upstream to know that draining/finishing didn't
succeed, and why.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-09 08:55:28 +0200 Edward Hervey <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Avoid dropping non-OK flow return
When sucessfully finishing out frames (or finishing configuration), we must make
sure we don't override any failing GstFlowReturn that might have been detected
previously.
Failure to do this would result in not propagating not-linked, flushing,
etc...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2016-09-26 20:06:54 -0400 Olivier Crête <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
avcodecmap: Enable 24 bit WMA Lossless decoding
This now works with not so recent ffmpeg.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/88>
2020-09-08 17:30:46 +0100 Tim-Philipp Müller <[email protected]>
* .gitlab-ci.yml:
ci: include template from gst-ci master branch again
2020-09-08 16:58:56 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.18.0 ===
2020-09-08 00:08:12 +0100 Tim-Philipp Müller <[email protected]>
* .gitlab-ci.yml:
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:
* meson.build:
Release 1.18.0
2020-09-07 12:15:17 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavviddec.c:
Update for gst_video_transfer_function_*() function renaming
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/89>
=== release 1.17.90 ===
2020-08-20 16:14:50 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:
* meson.build:
Release 1.17.90
2020-08-03 19:28:29 +0300 Jordan Petridis <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcfg.c:
gstavcfg.c: fix max->min typo in limits and implict double conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/86>
2020-07-23 15:37:05 +0300 Jordan Petridis <[email protected]>
* docs/gst_plugins_cache.json:
Revert "docs: update plugins doc cache"
This reverts commit d1b20eb6558b5188fe539a2aba3dc15630e703b0.
See https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/324
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/85>
2020-07-03 12:45:44 +0300 Jordan Petridis <[email protected]>
* docs/gst_plugins_cache.json:
docs: update plugins doc cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/80>
2020-07-08 17:23:12 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
* scripts/extract-release-date-from-doap-file.py:
meson: set release date from .doap file for releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/84>
2020-07-07 00:33:22 +0300 Vivia Nikolaidou <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Fix typo that duplicated closed caption meta
We examined the output buffer, instead of the input buffer, for
existence of cc meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/83>
2020-07-02 12:28:34 +0300 Vivia Nikolaidou <[email protected]>
* ext/libav/gstavviddec.c:
gstavviddec: Only allow a single closed caption meta
Following discussion in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1396#note_556068
While it is technically possible to store multiple closed caption metas
in the same buffer, we don't currently do that anywhere and for
H264/MPEG2 both parts have to be stored in the same packet, and also the
number of CC bytes you can store per frame is rather limited. This
restriction might be relaxed later once we figured out how to do it
without breaking things.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/82>
2020-07-03 02:04:01 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.17.2 ===
2020-07-03 00:33:33 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:
* meson.build:
Release 1.17.2
2020-06-30 18:33:56 +0200 Matej Knopp <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: fix buffer leak when send packet failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/81>
2020-06-26 13:11:56 +0300 Sebastian Dröge <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
avcodecmap: Add support for SpeedHQ video codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/79>
2020-06-23 00:07:26 +0200 Mathieu Duponchelle <[email protected]>
* docs/meson.build:
meson: mark plugins cache target as always stale
2020-06-19 22:59:39 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
doc: Stop documenting properties from parents
2020-06-18 22:16:30 +0200 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavmux.c:
avmux: zero-initialize packets
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/76>
2020-06-20 00:28:26 +0100 Tim-Philipp Müller <[email protected]>
* meson.build:
Back to development
=== release 1.17.1 ===
2020-06-19 19:24:14 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:
* gst-libav.doap:
* meson.build:
Release 1.17.1
2020-06-09 15:33:51 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
docs: Update plugins cache
2020-06-08 09:44:43 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
docs: Update plugins cache
2020-06-06 00:43:02 +0200 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavcfg.c:
* ext/libav/gstavdeinterlace.c:
* ext/libav/gstavviddec.c:
* ext/libav/gstavvidenc.c:
plugins: uddate gst_type_mark_as_plugin_api() calls
2020-06-03 18:35:32 -0400 Thibault Saunier <[email protected]>
* docs/meson.build:
doc: Require hotdoc >= 0.11.0
2020-05-27 16:02:45 +0300 Sebastian Dröge <[email protected]>
* docs/gst_plugins_cache.json:
docs: Update gst_plugins_cache.json
2020-05-31 10:02:12 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavcfg.c:
* ext/libav/gstavdeinterlace.c:
* ext/libav/gstavviddec.c:
* ext/libav/gstavvidenc.c:
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
2020-05-31 09:59:29 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavaudenc.c:
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavcodecmap.h:
avcodecmap: Remove unused GstFFMpegCompliance type
2020-05-27 16:30:41 +0200 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavdemux.c:
avdemux: update the context we use to determine stream's caps
The discovered frame rate is only available on the AVStream
itself. Updating the temporary context framerate before
building caps from it seems like a pretty non-intrusive approach.
Fixes #75
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/74>
2020-05-27 16:29:27 +0200 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavcodecmap.c:
avcodecmap: use framerate instead of time_base when decoding
Documentation for AVCodecContext::time_base:
> decoding: the use of this field for decoding is deprecated.
> Use framerate instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/74>
2020-05-09 15:20:00 +0200 Matej Knopp <[email protected]>
* ext/libav/gstavaudenc.h:
* ext/libav/gstavcodecmap.h:
* ext/libav/gstavviddec.h:
gstlibav: minor fixes for header files
Move G_BEGIN_DECLS below includes and add missing include
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/71>
2020-05-08 19:16:41 +0200 Matej Knopp <[email protected]>
* ext/libav/gstavviddec.c:
gstavviddec: only set range when actually reported by avcodec
otherwise we get incomplete colorimetry that video-info complains about
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/70>
2020-04-30 18:12:19 +0530 Nirbheek Chauhan <[email protected]>
* README:
* README.md:
README: Convert to markdown, clarify licensing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/68>
2020-04-30 17:13:00 +0530 Nirbheek Chauhan <[email protected]>
* COPYING:
* COPYING.LIB:
All code in this repository is now LGPL-2.1+
Starting with 1.17, we will not ship a copy of FFmpeg in our release
tarballs, and all the remaining code is LGPL2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/68>
2020-04-15 15:00:02 +0800 Haihao Xiang <[email protected]>
* ext/libav/gstavmux.c:
avmux: avoid to use unintialized variable
Without this fix, running the command below will get an error randomly.
Example:
gst-launch-1.0 videotestsrc ! vp9enc ! avmux_ivf ! fakesink
ERROR: pipeline doesn't want to preroll.
0:00:02.388528491 30148 0x5601b424a370 ERROR libav :0::
Tag [1]V[0][0] incompatible with output codec id '167' (VP90)
2020-03-11 18:26:39 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Update for video-hdr struct change
See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
2020-01-27 14:21:48 -0800 Julien Isorce <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: handle GST_VIDEO_MULTIVIEW_MODE_MONO
Otherwise videotestsrc ! avenc_libx265 ! fakesink
outputs `Unsupported multiview mode - no mapping in libav`
2020-01-24 16:14:28 +0200 Sebastian Dröge <[email protected]>
* ext/libav/gstavcodecmap.c:
avcodecmap: Add some more comments about the assumptions in the ffmpeg code about H264/H265/AAC
2020-01-24 13:04:46 +0200 Sebastian Dröge <[email protected]>
* ext/libav/gstavcodecmap.c:
avdemux: Only set stream-format for H264/H265/AAC when we have a context
Otherwise we don't know yet whether we'll have extradata/codec_data, so
can't decide on the stream-format yet.
2020-01-15 14:36:19 +0800 Haihao Xiang <[email protected]>
* ext/libav/gstavcodecmap.c:
avivf_mux: support VP9 and AV1
Besides vp8, ff_ivf_muxer supports VP9 and AV1
2020-01-23 10:03:40 +0200 Sebastian Dröge <[email protected]>
* ext/libav/gstavcodecmap.c:
avcodecmap: Set AAC/H264/H265 stream-format for demuxer/encoder situations if no codec_data is provided
This fixes output of the above formats from demuxers.
2020-01-23 09:45:59 +0200 Sebastian Dröge <[email protected]>
* ext/libav/gstavdemux.c:
avdemux: Pass the URI from the URI query to avformat_open_input()
Some demuxers make use of it in various ways, for example the HLS
demuxer.
2019-12-19 17:58:56 +0100 Alicia Boya García <[email protected]>
* ext/libav/gstavviddec.c:
gstavviddec: Limit default number of decoder threads
When the `max-threads` property is not specified, GStreamer defaults to
the amount of CPU threads in the system.
The number of threads used in avdec has a direct impact on the latency
of the decoder, which is of as many frames as threads. Therefore, big
numbers of threads can make latency levels that can be problematic in
some applications.
For this reason, ffmpeg emits a warning when more than 16 threads are
requested.
This patch limits the default number of threads to 16. This affects only
computers with more than 16 CPU threads when using avviddec without
setting `max-threads`.
2019-12-02 19:06:04 +0000 Tim-Philipp Müller <[email protected]>
* pkgconfig/gstreamer-plugins-libav-uninstalled.pc.in:
pkgconfig: remove unused file
Was never hooked up to meson build it seems, and only ever used
by the uninstalled autotools dev env to locate gst-libav plugins
for use in unit tests in other modules.
2019-11-29 09:25:24 +0100 Edward Hervey <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: Fix error propagation
Instead of returning the default return value (GST_FLOW_OK), actually
return an error one (res vs ret).
2019-11-04 15:39:59 +0100 Kevin JOLY <[email protected]>
* ext/libav/gstavdemux.c:
avdemux: Fix segmentation fault if long_name is NULL
Some plugins (like libcdio) registers empty long_name field. Calling strncmp on this field leads to a segmentation fault.
Signed-off-by: Kevin Joly <[email protected]>
2019-10-29 11:43:05 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Fix huge leak caused by circular reference
AVBufferRef -> GstFFMpegVideoDecVideoFrame -> GstVideoCodecFrame -> AVBufferRef
Instead of holding additional ref there, set read-only which would not be
reused by ff_reget_buffer()
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/63
2019-10-25 01:09:08 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
* ext/libav/gstavvidenc.c:
avvideenc,avvidedec: Filtering hardware en/decoder by flag
... instead of filtering them by hardcoded string compare.
2019-10-24 00:25:28 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Enforce allocate new AVFrame per input frame
... if ffmpeg would reuse the allocated AVBuffer. Reused AVFrame by
the ffmpeg seems to break our decoding flow since the reused AVFrame
holds the initial opaque data (GstVideoCodecFrame in this case), so
we couldn't trace the our in/out frames.
To enforce get_buffer() call per output frame, hold another reference
to the AVBuffer in order to mark the AVBuffer as not writable.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/62
2019-10-13 14:33:27 +0100 Tim-Philipp Müller <[email protected]>
* .gitignore:
* .gitmodules:
* HACKING:
* Makefile.am:
* README:
* TODO:
* autogen.sh:
* common:
* configure.ac:
* docs/.gitignore:
* ext/Makefile.am:
* ext/libav/Makefile.am:
* gst-libs/Makefile.am:
* gst-libs/ext/Makefile.am:
* gst-libs/ext/gas-preprocessor:
* gst-libs/ext/libav:
* m4/as-slurp-ffmpeg.m4:
* pkgconfig/.gitignore:
* pkgconfig/Makefile.am:
* tests/Makefile.am:
* tests/check/.gitignore:
* tests/check/Makefile.am:
* tests/check/generic/.gitignore:
* tests/files/Makefile.am:
Remove autotools build system
2019-09-24 23:51:33 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavviddec.c:
avviddec,avcodemap: Use new helper function for map color space information
... between GStreamer and FFmpeg. Note that FFmpeg follows ISO/IEC 23001-8
defined color{matrix,transfer,primaries} values.
2019-09-11 15:59:42 +0000 Marc Leeman <[email protected]>
* docs/meson.build:
docs: do not require gst-plugins-doc-cache-generator
Do not require the cache generator. This is in line with the other
gstreamer modules
2019-08-13 22:03:31 +0200 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: timestamp output buffers
Same approach as x264enc, with the one hour offset
2019-08-01 16:27:35 -0400 Doug Nazar <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Don't warn if drain is successful
2019-07-18 00:20:16 +0200 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: improve latency calculation
When thread_type is set to FF_THREAD_FRAME, per the documentation
a latency of one frame per thread is introduced:
<https://ffmpeg.org/ffmpeg-codecs.html>, search for thread_type.
Additionally, we need in that case to calculate the automatic
number of threads ourselves, so as to accurately calculate the
latency.
2018-10-06 18:51:58 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
* ext/libav/gstavviddec.h:
avviddec: Add thread-type property
The thread-type property allows specifying preferred
multithreading methods by user. Note that FF_THREAD_FRAME
may introduce additional latency especially on non-filesrc usecase,
since it introduces a decoding delay of (number of threads) frames.
https://bugzilla.gnome.org/show_bug.cgi?id=797254
2019-07-15 10:42:42 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: Close reference context before freeing it
Otherwise we'll leak some memory.
See https://gitlab.freedesktop.org/gstreamer/gst-libav/merge_requests/32
2019-07-12 14:41:18 +0200 Knut Andre Tidemann <[email protected]>
* ext/libav/gstavaudenc.c:
avaudenc: fix memory leak of refcontext after finalize.
2019-06-19 15:44:49 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: Also set the repeat_pict flag correctly and take the TFF flag from caps if available
2019-06-19 15:43:42 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: Correctly signal interlaced input to ffmpeg when the input caps are interlaced
Regression from 1e4529ced2dadbfed4ac10d639a45dbcb0660129
2019-06-02 21:45:19 +0200 Niels De Graef <[email protected]>
* configure.ac:
meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the G_DECLARE_* macros.
As discussed on IRC, 2.44 is old enough by now to start depending on it.
2019-05-29 11:49:38 +0530 Guillaume Desmottes <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: remove cdgraphics element
It was never usable as we don't have a parser and we now have 'cdgdec'
in gst-plugins-rs.
2019-05-25 13:36:40 +0200 Tim-Philipp Müller <[email protected]>
* configure.ac:
configure: pass -Wno-attributes to fix build against broken ffmpeg headers
libavutil/mem.h:342:1: error: ‘alloc_size’ attribute ignored on a function returning ‘int’
av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
^~~~~~~~~~~~~
Hopefully fixes build on jenkins.
2019-05-24 20:35:41 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavviddec.c:
avcodecmap,avviddec: Map bt2020-10, PQ and HLG transfer functions
Map more transfer functions between Gstreamer and ffmpeg
2019-05-24 11:47:58 +0200 Arun Raghavan <[email protected]>
* docs/gst_plugins_cache.json:
* ext/libav/gstavcodecmap.c:
codecmap: Add caps for aptX and aptX-HD
2019-05-16 09:20:56 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
* docs/meson.build:
docs: Stop building the doc cache by default
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-13 22:58:09 -0400 Thibault Saunier <[email protected]>
* docs/gst_plugins_cache.json:
docs: Update plugins documentation cache
2018-10-22 11:41:07 +0200 Thibault Saunier <[email protected]>
* Makefile.am:
* configure.ac:
* docs/Makefile.am:
* docs/gst_plugins_cache.json:
* docs/index.md:
* docs/meson.build:
* docs/plugins/.gitignore:
* docs/plugins/Makefile.am:
* docs/plugins/gst-libav-plugins-docs.sgml:
* docs/plugins/gst-libav-plugins.args:
* docs/plugins/gst-libav-plugins.hierarchy:
* docs/plugins/gst-libav-plugins.interfaces:
* docs/plugins/gst-libav-plugins.prerequisites:
* docs/plugins/gst-libav-plugins.signals:
* docs/plugins/gst-libav-plugins.types:
* docs/plugins/inspect/plugin-libav.xml:
* docs/plugins/scanobj-build.stamp:
* docs/sitemap.txt:
* docs/version.entities.in:
* ext/libav/meson.build:
* meson.build:
* meson_options.txt:
docs: Port to hotdoc
2019-05-05 09:38:01 +0200 Christoph Reiter <[email protected]>
* configure.ac:
autotools: add bcrypt to win32 libs
The included libav requires it now. Otherwise the builds fails with:
CCLD libgstlibav.la
build-i686-w64-mingw32/gst-libs/ext/.libs/libavutil.a(random_seed.o): In function `av_get_random_seed':
gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:126: undefined reference to `BCryptOpenAlgorithmProvider@16'
gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:129: undefined reference to `BCryptGenRandom@16'
gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:130: undefined reference to `BCryptCloseAlgorithmProvider@8'
collect2.exe: error: ld returned 1 exit status
2019-02-18 20:53:58 +0900 Seungha Yang <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Extract HDR information if any
Convert mastering display information (a.k.a HDR static metadata) and
content light level information provided by FFMPEG to Gstreamer.
2019-04-29 11:52:31 +0900 Yeongjin Jeong <[email protected]>
* ext/libav/gstav.c:
gstav: Use libavcodec util function for version check
The version of libavutil is printed in the log instead of libavcodec
because avutil_version() returns LIBAVUTIL_VERSION_INT. This can be confusing,
so we should be replace it with avcodec_version().
2019-04-29 15:22:52 +0900 Yeongjin Jeong <[email protected]>
* ext/libav/gstavauddec.c:
avauddec: Ensure drain even if codec has not delay capabilities
There are decoders that need to be drained if they work on multi-threads,
even if AV_CODEC_CAP_DELAY is not set.
2019-04-29 15:02:06 +0900 Yeongjin Jeong <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: Ensure drain even if codec has not delay capabilities
There are decoders that need to be drained if they work on multi-threads,
even if AV_CODEC_CAP_DELAY is not set.
2019-04-19 10:38:06 +0100 Tim-Philipp Müller <[email protected]>
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* meson.build:
Back to development
=== release 1.16.0 ===
2019-04-19 00:33:22 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-libav.doap:
* meson.build:
Release 1.16.0
2019-04-19 00:33:22 +0100 Tim-Philipp Müller <[email protected]>
* docs/plugins/inspect/plugin-libav.xml:
Update docs
2019-04-12 10:05:53 +0300 Sebastian Dröge <[email protected]>
* gst-libs/ext/libav:
libav: Update to ffmpeg n4.1.3
=== release 1.15.90 ===
2019-04-11 00:34:12 +0100 Tim-Philipp Müller <[email protected]>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-libav.doap:
* meson.build:
Release 1.15.90
2019-04-11 00:34:12 +0100 Tim-Philipp Müller <[email protected]>
* docs/plugins/gst-libav-plugins.args:
* docs/plugins/inspect/plugin-libav.xml:
Update docs
2019-04-09 16:56:20 +0300 Sebastian Dröge <[email protected]>
* ext/libav/gstavcfg.c:
avcfg: Override type of bitrate property from int64 to int
See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/41#note_142808
The switch to the new ffmpeg property system changed the type of the
bitrate property from int to int64, which potentially breaks many
existing applications at runtime as properties are usually set via
g_object_set().
As such, override the type to int until GStreamer 2.0.
2019-03-28 14:24:42 -0400 Aaron Boxer <[email protected]>
* ext/libav/gstavviddec.c:
avviddec: do not add 708 caption meta if already exists
(this is only used for CEA 708 raw data). another element
such as mpegvideoparse may have already added the meta.
2019-03-23 00:24:25 +0100 Mathieu Duponchelle <[email protected]>
* ext/libav/gstavvidenc.c:
avvidenc: pass Closed Caption metadata to libav
2019-02-26 00:00:33 +0000 Tim-Philipp Müller <[email protected]>
* ext/libav/gstavauddec.c:
* ext/libav/gstavauddec.h:
avauddec: fix decoding of APE and Cook audio
.. and other formats where ffmpeg gives us multiple
subframes per input frame.
Since we now support non-interleaved audio, we can't
just concat buffers any more. Also, audio metas won't
be combined when buffers are merged, so when we push
out the combined buffer we'll look at the meta describing
only the first subframe and think it covers the whole
frame leading to stutter/gaps in the output.
We could fix this by copying the output data into a new
buffer when we merge buffers, but that's suboptimal, so
let's add some API to GstAudioDecoder to push out subframes
and use that instead.
https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/49
2019-03-04 09:12:35 +0000 Tim-Philipp Müller <[email protected]>
* NEWS:
* RELEASE:
* configure.ac: