-
Notifications
You must be signed in to change notification settings - Fork 13
/
ChangeLog
11456 lines (8347 loc) · 394 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.8.2 ===
2016-06-09 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
releasing 1.8.2
2016-05-14 12:09:06 +0200 Edward Hervey <bilboed@bilboed.com>
* ext/libav/gstavviddec.c:
avvidec: Don't set bogus latency
We might have cases where the framerate is not known (0/1).
2016-05-12 11:09:13 +0200 Edward Hervey <edward@centricular.com>
* ext/libav/gstavviddec.c:
avvidec: Report the latency once we're fully configured
Several decoders will only be able to report a real latency (has_b_frames)
once they're actually initialized (i.e. when they return their first frame).
Doing it earlier (in set_format) doesn't guarantee that the AVCodecContext
has_b_frames has been properly initialized.
https://bugzilla.gnome.org/show_bug.cgi?id=766362
2016-05-03 19:04:06 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to ffmpeg n3.0.2
2016-04-29 13:06:07 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavauddec.c:
avauddec: Finish frames if they are header buffers only and don't produce any output
Otherwise we will consider them as one frame of raw audio that is still
pending, and shift all timestamps by the amount of time spent with header
buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=765797
2016-04-29 12:55:19 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavauddec.c:
avauddec: If decoding a frame failed, skip it
Otherwise the next successfully decoded frame will get its timestamp and we
will slowly let a/v sync drift apart.
https://bugzilla.gnome.org/show_bug.cgi?id=765797
2016-04-28 18:43:37 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
avaudenc: Set all required fields in the AVFrame
Various functions in libavcodec need them, like the format, sample rate, etc.
and just having them in the context is not enough.
This fixes draining for codecs like MP2 that require a fixed frame size and
require libav to pad the last frame if required.
2016-04-25 18:39:54 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavcfg.c:
avcfg: Use av_strdup() instead of g_strdup() for strings owned by ffmpeg
It has its own allocator that depending on the configuration is incompatible
with GLib's and just causes a segmentation fault. Like on Windows.
https://bugzilla.gnome.org/show_bug.cgi?id=760266
=== release 1.8.1 ===
2016-04-20 18:31:25 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.8.1
2016-04-20 15:27:45 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
* ext/libav/gstav.c:
avdeinterlace: Register all filters and only disable all except for yadif during compilation
Otherwise avdeinterlace won't find any filters, and we only use yadif in
there.
https://bugzilla.gnome.org/show_bug.cgi?id=765319
2016-04-15 12:51:07 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to n3.0.1
=== release 1.8.0 ===
2016-03-24 12:55:15 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.8.0
2016-03-20 13:43:00 +0000 Egor Zaharov <nexfwall@yandex.ru>
* configure.ac:
configure: Restore CPPFLAGS after the last check
The next checks can also set CPPFLAGS.
https://bugzilla.gnome.org/show_bug.cgi?id=763940
=== release 1.7.91 ===
2016-03-15 12:23:48 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.7.91
2016-03-11 15:44:16 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavcodecmap.c:
avcodecmap: Only set the bitrate if we actually got it from the caps
Otherwise we set a random value from the stack as bitrate. The default (0)
is a better choice and doesn't upset valgrind.
=== release 1.7.90 ===
2016-03-01 18:51:22 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.7.90
2016-02-26 12:42:36 +0200 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From b64f03f to 6f2d209
2016-02-23 18:19:18 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavdeinterlace.c:
avdeinterlace: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-21 10:40:02 +0000 Tim-Philipp Müller <tim@centricular.com>
* Makefile.am:
* win32/MANIFEST:
* win32/vs6/gst_ffmpeg.dsw:
* win32/vs6/libgstffmpeg.dsp:
win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
2016-02-20 12:59:38 +0000 Tim-Philipp Müller <tim@centricular.com>
* ext/libav/gstav.c:
* ext/libav/gstav.h:
* ext/libav/gstavauddec.c:
* ext/libav/gstavviddec.c:
Don't use exported but undeclared core debug category symbols
It's not right and won't work on Windows with MSVC.
2016-02-19 12:38:37 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.7.2 ===
2016-02-19 12:00:24 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/gst-libav-plugins.args:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.7.2
2016-02-16 16:32:38 +0100 Edward Hervey <edward@centricular.com>
* ext/libav/gstavcfg.c:
avcfg: rc-min-rate and rc-max-rate are now 64bit integers
Switch the gobject properties and internal handling to support that
2016-02-16 09:11:08 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Set width/height and format in the AVFrame we pass to the encoder API
2016-02-16 09:02:21 +0200 Sebastian Dröge <sebastian@centricular.com>
* docs/plugins/gst-libav-plugins.args:
* docs/plugins/gst-libav-plugins.hierarchy:
* docs/plugins/gst-libav-plugins.interfaces:
* docs/plugins/inspect/plugin-libav.xml:
docs: Update docs to not have unstaged changes after build again
There are some new codec IDs that we probably would like to map too, e.g.
Dirac/VC2 and Cineform HD.
2016-02-15 17:06:05 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to n3.0
2016-02-05 18:10:53 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* autogen.sh:
* common:
Automatic update of common submodule
From 86e4663 to b64f03f
2016-01-25 20:13:10 +0100 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
avaudenc: Also use av_free() instead of g_free()
2016-01-25 20:08:11 +0100 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
avaudenc: Use av_malloc() instead of GLib malloc() wrappers for memory freed by ffmpeg
It has its own allocator that is not necessarily doing the same as malloc and
will then usually crash. E.g. on Windows or when memalign() is available.
2016-01-21 17:35:51 +0100 Edward Hervey <edward@centricular.com>
* ext/libav/gstavviddec.c:
avvidec: Bring mpeg video decoders up to PRIMARY rank
We should have done that ages ago ...
https://bugzilla.gnome.org/show_bug.cgi?id=574461
2016-01-21 11:41:45 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
libav: Ensure to link with -lavfilter
2016-01-20 10:31:40 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Use AVFrame API instead of deprecated AVPicture API
2016-01-19 09:42:47 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavdeinterlace.c:
* ext/libav/gstavscale.c:
av: Use av_image_get_buffer_size() instead of deprecated avpicture_get_size()
2016-01-19 09:39:00 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavdemux.c:
avdemux: Use av_packet_unref() instead of deprecated av_free_packet()
2016-01-19 09:36:01 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Use AVPacket.flags for detecting keyframes
AVCodec.coded_frame is deprecated and will disappear at some point
in the future.
2016-01-16 16:43:16 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavdeinterlace.c:
avdeinterlace: Chain up to parent class' dispose()
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 16:40:52 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
* ext/libav/gstavcodecmap.c:
libav: Bitrate field changed from int to int64_t, fix compiler warnings
Cast it to a gint64 for now though, as otherwise we will fail compilation
with ffmpeg 2.8.
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2015-11-04 21:18:56 +0100 Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* ext/libav/gstavcfg.c:
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavcodecmap.h:
* ext/libav/gstavdeinterlace.c:
* ext/libav/gstavutils.c:
* ext/libav/gstavutils.h:
* ext/libav/gstavviddec.c:
* ext/libav/gstavviddec.h:
* ext/libav/gstavvidenc.c:
* ext/libswscale/gstffmpegscale.c:
libav: Remove usage of deprecated API
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2015-11-04 21:16:18 +0100 Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* configure.ac:
* ext/libav/gstavdeinterlace.c:
avdeinterlace: Port non-deprecated AVFilter API
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 11:09:31 +0100 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to ffmpeg n2.8.5
2016-01-07 17:13:29 +0000 Tim-Philipp Müller <tim@centricular.com>
* ext/libav/gstavauddec.c:
* ext/libav/gstavdemux.c:
* ext/libav/gstavmux.c:
av: canonicalise av plugin name more consistently in more places
Use g_strdelimit(), make sure to include comma as well, which
isn't included in G_STR_DELIMITERS.
https://bugzilla.gnome.org/show_bug.cgi?id=734451
2015-12-24 15:29:11 +0100 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.7.1 ===
2015-12-24 14:49:39 +0100 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.7.1
2015-12-24 13:06:13 +0100 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavcodecmap.c:
avcodecmap: Add special mapping for mono channel layouts
In ffmpeg this is the same as FRONT_CENTER, but we distinguish between
FRONT_CENTER and MONO in GStreamer. Add an explicit mapping for this special
case in the translations functions.
https://bugzilla.gnome.org/show_bug.cgi?id=759846
2015-11-27 11:16:07 +0900 Vineeth TM <vineeth.tm@samsung.com>
* ext/libav/gstavviddec.c:
* ext/libav/gstavviddec.h:
avviddec: remove realvideo slice_offset handling
Handling slice_offset in avviddec is resulting in invalid memory read.
Since rv decoders anyways handle slice_offset, removing the same to fix
memory mishandlings
https://bugzilla.gnome.org/show_bug.cgi?id=758726
2015-12-21 12:41:02 +0100 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to ffmpeg n2.8.4
2015-12-21 12:34:11 +0100 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
configure: Use -Bsymbolic-functions if available
While this is more useful for libraries, some of our plugins with multiple
files and some internal API can also benefit from this.
2015-12-16 09:36:25 +0100 Sebastian Dröge <sebastian@centricular.com>
* docs/plugins/gst-libav-plugins.hierarchy:
* docs/plugins/inspect/plugin-libav.xml:
docs: update to git
2015-12-07 09:11:30 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
* autogen.sh:
* common:
Automatic update of common submodule
From b319909 to 86e4663
2015-12-02 12:27:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
* ext/libav/gstav.c:
Require libav provided by FFmpeg at run-time
Error out if system's libav* libraries are not
provided by FFmpeg. Libav-incompatible changes
were introduced to support the latter so we
can no longer support both.
https://bugzilla.gnome.org/show_bug.cgi?id=758183
2015-11-23 23:45:38 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
* configure.ac:
Require libav provided by FFmpeg at build-time
Libav-incompatible changes were introduced to support
FFmpeg and we can no longer properly support Libav.
FFmpeg micro versions for libav* start at 100 (this was
done to differentiate from Libav builds). We use this
to bail at configure time if the system libav* libraries
are not provided by FFmpeg.
https://bugzilla.gnome.org/show_bug.cgi?id=758183
2015-12-01 15:12:22 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to n2.8.3
2015-11-30 19:01:41 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Make sure to use a buffer pool with the correct width/height configured on it for pushing buffers downstream
If downstream does not provide a (usable) pool, we would use our internal
pool. But the internal pool might be configured with a different width/height
because of padding, which then will cause problems if we push buffers from it
directly downstream.
Instead create a new pool if the width/height is different.
This prevents crashes with vaapisink and d3dvideosink for example.
Based on the debugging results and discussions with
Nicolas Dufresne <nicolas.dufresne@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=758344
2015-11-23 10:31:39 +0900 Vineeth T M <vineeth.tm@samsung.com>
* ext/libav/gstavviddec.c:
avviddec: Fix structure memory leak
gst_structure_copy already takes a reference for config_copy.
No need to take another reference while setting it to buffer pool
https://bugzilla.gnome.org/show_bug.cgi?id=758512
2015-11-20 10:48:47 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
* ext/libav/gstavvidenc.c:
Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
(Includes unrelated formatting change to go through
indent checker commit hook)
2015-11-12 10:44:25 +0100 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to n2.8.2
2015-11-07 12:11:57 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Don't fallback on allocation failure
Allocation should keep working, falling back causes the stride to
change which is not supported in direct rendering.
https://bugzilla.gnome.org/show_bug.cgi?id=756028
2015-11-02 10:00:55 +0900 Vineeth TM <vineeth.tm@samsung.com>
* ext/libav/gstavvidenc.c:
avvidenc: Fix frame memory leak
The frame being passed to handle_frame should be unref'ed in all cases
https://bugzilla.gnome.org/show_bug.cgi?id=757453
2015-11-02 10:20:02 +0900 Vineeth TM <vineeth.tm@samsung.com>
* ext/libav/gstavdemux.c:
avdemux: Fix string memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=757454
2015-10-26 19:54:10 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
* ext/libav/gstavviddec.c:
avviddec: _drain and _finish need slightly different handling
... since they handle separate cases in video decoder with different requirements.
Consider e.g. x264enc ! rtph264pay ! identity drop-probability=0.1 ! rtph264depay
to illustrate a need for such separation.
2015-10-21 14:37:05 +0100 Tim-Philipp Müller <tim@centricular.com>
* common:
Automatic update of common submodule
From b99800a to b319909
2015-10-20 17:29:42 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:28:34 +0300 Sebastian Dröge <sebastian@centricular.com>
* common:
Automatic update of common submodule
From 9aed1d7 to b99800a
2015-10-16 18:52:57 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Fix bufferpool config double free by taking a copy as needed
Also free the config in two code paths where we leaked it before.
2015-10-14 10:18:01 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to n2.8.1
2015-10-09 21:22:12 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavcodecmap.c:
avcodecmap: add jpeg2000 decoder mapping
Map the 3 possible jpeg2000 caps to JPEG2000 codec id
2015-10-03 18:25:35 +0100 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavcodecmap.c:
avcodecmap: Don't allocate dummy codec data anymore, it causes crashes nowadays
Multithreaded encoders are going to free this dummy codec data twice, e.g.
with this pipeline
gst-launch-1.0 videotestsrc num-buffers=40 ! \
videoconvert ! avenc_mjpeg ! fakesink
2015-10-03 18:14:05 +0100 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Pass the correct user_data to gst_buffer_new_wrapped_full()
Fixes crash with e.g.
gst-launch-1.0 videotestsrc num-buffers=40 ! \
videoconvert ! avenc_huffyuv ! fakesink
2015-10-02 23:02:01 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavutils.c:
* ext/libav/gstavutils.h:
libav: G_CONST_RETURN is deprecated since GLib 2.30
2015-10-02 22:26:36 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Add configure check for GLib for consistency with other modules
2015-10-02 11:49:35 +0100 Luis de Bethencourt <luisbg@osg.samsung.com>
* ext/libav/gstavviddec.c:
avviddec: only free config when pool doesn't take ownership
Since gst_buffer_pool_set_config() takes ownership of the config structure,
it is only necessary to free the structure before using it when the true
branch of if (gst_buffer_pool_config_validate_params) hasn't run.
gst_buffer_pool_set_config() always takes ownership of the structure
regardless of success or failure. Which means the return, checked with
if (!working_pool), has no relation to the state of the structure.
2015-08-28 15:15:39 +0100 Luis de Bethencourt <luis@debethencourt.com>
* ext/libav/gstavviddec.c:
avviddec: fix memory leak
Free config before overwriting.
CID #1320708
2015-09-25 23:51:15 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Back to development
=== release 1.6.0 ===
2015-09-25 23:32:21 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.6.0
=== release 1.5.91 ===
2015-09-18 20:10:32 +0200 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/gst-libav-plugins.args:
* docs/plugins/gst-libav-plugins.hierarchy:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.5.91
2015-08-28 09:38:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/libav/gstavviddec.c:
avvidec: increase default alignment to 32 bytes
Change default alignment from 16 to 32 bytes, which fixes crashes
when decoding H.265 using AVX2-based decoder code paths and when
using ximagesink/glimagesink.
https://bugzilla.gnome.org/show_bug.cgi?id=754120
2015-09-11 23:19:21 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/libav/gstavviddec.c:
avvideodec: ensure required mem alignment fixing avdec_h265 crashes with ximagesink/glimagesink
Make sure the alignment requirement in GstAllocationParams
matches the GstVideoAlignment requirements. This fixes
issues with avdec_h265 crashing in the avx2 code path when
used with playbin and ximagesink/glimagesink as videosink.
The internal video pool would allocate buffers with an
alignment of 15 even though GstVideoAlignment specified
a stride_align requirement of 31 (which comes from ffmpeg).
https://bugzilla.gnome.org/show_bug.cgi?id=754120
2015-09-12 14:06:10 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to ffmpeg n2.8
https://bugzilla.gnome.org/show_bug.cgi?id=754920
2015-07-30 01:24:54 +1000 Jan Schmidt <jan@centricular.com>
* ext/libav/gstavaudenc.c:
* ext/libav/gstavvidenc.c:
avvid/audenc: Set some tags in the output for downstream's info
Add the codec name and bitrate into the output for informational
purposes. Bitrate in particular is now used by flvmux to set
videodatarate and audiodatarate in the resulting stream
2015-08-20 08:02:11 -0700 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ext/libav/gstavviddec.c:
* ext/libav/gstavviddec.h:
avviddec: Fix pool reallocation logic
Some check where incorect and also unsafe. The only reliable information
in get_buffer2 is the picture width/height really. The side effect is
that the width/height of the internal pool endup padded, so when we
switch we also need to switch to the a new width/height, hence we save
the pool info.
https://bugzilla.gnome.org/show_bug.cgi?id=753869
=== release 1.5.90 ===
2015-08-19 14:12:35 +0300 Sebastian Dröge <sebastian@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* docs/plugins/gst-libav-plugins.args:
* docs/plugins/gst-libav-plugins.hierarchy:
* docs/plugins/gst-libav-plugins.interfaces:
* docs/plugins/inspect/plugin-libav.xml:
* gst-libav.doap:
Release 1.5.90
2015-08-16 19:08:16 +0200 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ext/libav/gstavviddec.c:
* ext/libav/gstavviddec.h:
aviddec: Re-enable direct rendering
This is achieved by using a tempory internal pool. We can then switch to a
downstream pool if the downstream pool buffer have matching strides.
https://bugzilla.gnome.org/show_bug.cgi?id=752802
2015-08-17 04:36:39 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavvidenc.c:
avvidenc: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough
2015-08-17 04:35:41 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavaudenc.c:
avaudenc: use pad template caps for accept-caps
use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough
2015-08-16 14:14:27 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavaudenc.c:
avaudenc: remove useless getcaps method
It just calls the exact same function as the default handler
2015-08-16 14:13:05 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavvidenc.c:
avvidenc: remove useless getcaps method
It just calls the exact same function as the default handler
2015-08-15 07:30:26 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavauddec.c:
avauddec: let audiodecoder call the default pad query handler
Avoids repeating the same handling in many decoders
2015-08-15 07:18:07 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavviddec.c:
avviddec: let videodecoder call the default pad query handler
Avoids repeating the same handling in many decoders
2015-08-15 12:51:19 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/ext/libav:
libav: Update to n2.7.2
2015-08-14 08:22:39 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavviddec.c:
avviddec: use template caps intersection for accept-caps
Avoid doing downstream caps queries when accept-caps should just
do a shallow caps check on the element itself
https://bugzilla.gnome.org/show_bug.cgi?id=753623
2015-08-14 08:21:51 -0300 Thiago Santos <thiagoss@osg.samsung.com>
* ext/libav/gstavauddec.c:
avauddec: use template caps intersection for accept-caps
Avoid doing downstream caps queries when accept-caps should just
do a shallow caps check on the element itself
https://bugzilla.gnome.org/show_bug.cgi?id=753623
2015-07-30 23:07:39 +1000 Jan Schmidt <jan@centricular.com>
* ext/libav/gstavdemux.c:
Map ffmpeg metadata to GStreamer tags
Update to the metadata API ffmpeg has had in
place for a long time now, and reenable output
of GStreamer tags from the demuxer.
https://bugzilla.gnome.org/show_bug.cgi?id=566605
2015-07-28 17:54:23 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Remove unused force parameter
This parameter has been always false for a long time.
2015-08-03 21:40:12 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Use caps-like size in get_buffer2()
The size in the AVFrame in get_buffer2 don't match the output size,
instead they match ffmpeg's memory requirements, so we can't compare
them from the values of the output AVFrame. Those are comparable to
the values in the passed AVCodecContext.
2015-08-03 21:02:37 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Reset current_dr on close and when not chosing it
https://bugzilla.gnome.org/show_bug.cgi?id=753189
2015-07-28 16:16:10 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Disable direct rendering before a frame has been produces
ffmpeg doesn't provide the final's image width & height in the get_buffer2()
callback, so it's not possible to create an output state for GstVideoDecoder
at this stage. So only try to do direct rendering if the buffer pool has already
been negotiated based on the final decoded size.
This partially reverts the effects of 2e621f8db
https://bugzilla.gnome.org/show_bug.cgi?id=752802
2015-07-28 11:19:52 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Revert "For static builds, add the ffmpeg library directories to the linker flags"
This reverts commit ac3437153dc6cb3d82cdda0d1f60ffc5600fdf67.
Doesn't actually make sense as it will put the (uninstalled) library paths
into the installed .la files. How does this all work?
2015-07-28 11:02:47 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
For static builds, add the ffmpeg library directories to the linker flags
2015-07-27 18:49:49 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Get code out of loop
Code was executed only on the first iteration, so just pull it out
of the loop entirely. This makes it clear it has nothing to do with the loop.
2015-07-27 18:44:53 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Only create the AVBuffer once the stride is validated
If it is created earlier and the stride is invalid, then the frame
will be freed and it won't be possible to use it in the fallback path.
Not doing this causes a segfault because it will try to use
already freed memory.
2015-07-27 15:29:49 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Re-enable direct rendering
2015-07-25 02:54:20 -0400 Olivier Crete <olivier.crete@collabora.com>
* ext/libav/gstavauddec.c:
avauddec: Read channels from the channels field
If there is no layout, just read the channel count from the
channels field.
https://bugzilla.gnome.org/show_bug.cgi?id=752186
2015-07-23 19:15:43 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/libav/gstavviddec.c:
avviddec: Ignore negotiation error on shutdown
https://bugzilla.gnome.org/show_bug.cgi?id=752800
2015-07-25 03:05:25 -0400 Olivier Crête <olivier.crete@ocrete.ca>
* ext/libav/gstavauddec.c:
avauddec: Access field using accessors
Those fields are documented to only be safe to access using
accessors as their position is not part of the ABI.
2015-07-22 09:44:27 +0100 James Smith <smithjd15@gmail.com>
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavdemux.c:
Add support for musepack (mpc) sv8 audio
https://bugzilla.gnome.org/show_bug.cgi?id=732682
2015-07-16 18:17:05 +0900 Vineeth T M <vineeth.tm@samsung.com>
* ext/libav/gstavviddec.c:
avviddec: fix slice_offset memory leak
In case of real videos, slice_offset is being allocated,
but the same is not being freed.
https://bugzilla.gnome.org/show_bug.cgi?id=752404
2015-07-16 17:24:48 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst-libav.doap:
Update mailing list in doap file
2015-07-07 17:52:49 +0300 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
Disable iconv support to fix Windows build
It's needed only for subtitle charset conversion, and we don't
use the ffmpeg subtitle support anyway.
Also disable d3d11va and dxva2 support, we don't use the hardware
codec support.
2015-07-03 21:59:42 +0200 Stefan Sauer <ensonic@users.sf.net>
* common:
Automatic update of common submodule
From f74b2df to 9aed1d7
2015-07-02 15:44:45 +0200 Heinrich Fink <hfink@toolsonair.com>
* configure.ac:
Fix OSX build: Explicitly disable VDA h264 decoder
VideoDecodeAcceleration framework is deprecated in 10.11, and currently
cuases linker errors when compiling on OSX. Oddly, --disable-hwaccels
did not also disable h264_vda already.
https://bugzilla.gnome.org/show_bug.cgi?id=751838
2015-07-01 22:40:02 +0200 Sebastian Dröge <sebastian@centricular.com>
* configure.ac:
* ext/libav/gstav.c:
* ext/libswscale/gstffmpegscale.c:
Make the LGPL build the default and require --enable-gpl to build a GPL licensed version
2015-07-01 22:11:52 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavmux.c:
avmux: Blacklist some subtitle and adaptive streaming muxers
2015-06-30 12:05:46 +0200 Sebastian Dröge <sebastian@centricular.com>
* .gitmodules:
* configure.ac:
* ext/libav/Makefile.am:
* gst-libs/ext/libav:
Switch from libav v11.4 to ffmpeg n2.7.1
ffmpeg seems to be the one of the two forks, which is most widely used by
Linux distributions and in general. Also Google is using it for e.g. Chrome
and has engineers working on finding and fixing security issues in it.
https://bugzilla.gnome.org/show_bug.cgi?id=751607
2015-06-30 19:59:54 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
avaudenc: Remember how many samples the codec consumed for telling the base class
2015-06-30 19:18:53 +0200 Thomas Bluemel <tbluemel@control4.com>
* ext/libav/gstavauddec.c:
* ext/libav/gstavauddec.h:
avauddec: Ensure input buffers have FF_INPUT_BUFFER_PADDING_SIZE padding, which is required by avcodec_decode_audio4 ()
2015-06-29 13:29:05 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavmux.c:
avmux: Ignore stream_segment,ssegment muxer that is provided by ffmpeg
The comma confuses our code, e.g. it's not a valid element name or structure
name.
2015-06-28 16:54:35 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Fix compiler warning
gstavvidenc.c: In function 'gst_ffmpegvidenc_flush_buffers':
gstavvidenc.c:733:7: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
GstFFMpegVidEncClass *oclass =
^
cc1: all warnings being treated as errors
2015-06-28 16:35:46 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Set AVFrame flags for interlacing per frame and not in set_format()
They will get overridden by av_frame_unref() with the defaults.
2015-06-28 16:32:02 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
* ext/libav/gstavvidenc.c:
av{aud,vid}enc: Create wrapped output buffers with GST_MEMORY_FLAG_READONLY
libav might still have references to the buffers itself and uses a writability
system similar to ours based on reference counts.
2015-06-28 16:30:54 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Properly wrap and free the output AVPackets generated during draining
2015-06-28 16:27:52 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavvidenc.c:
avvidenc: Make sure to keep input data alive until libav is done with it
2015-06-28 16:21:33 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
avaudenc: Make sure to keep input data alive until libav is done with it
2015-06-28 15:37:23 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavaudenc.c:
* ext/libav/gstavaudenc.h:
* ext/libav/gstavvidenc.c:
av{aud,vid}enc: Stop using deprecated AVFrame APIs
2015-06-28 12:33:49 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavauddec.c:
avauddec: Remove custom buffer allocation function
libav always uses planar audio formats nowadays, not much use in
us trying to allocate anything here until we add support for planar
aka non-interleaved audio formats at least in audioconvert.
2015-06-27 20:25:36 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavauddec.c:
* ext/libav/gstavauddec.h:
avauddec: Use undeprecated AVFrame API
2015-06-27 20:25:18 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Free frame before the codec is freed
Who knows, maybe freeing the frame calls cleanup inside the codec.
2015-06-27 20:15:20 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Use undeprecated AVFrame API and unref frame once we're done with it
2015-06-27 20:08:46 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavauddec.c:
avauddec: Negotiate based on the AVFrame instead of just the AVCodecContext
2015-06-26 20:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Use the new get_buffer2() API instead of the deprecated APIs
And do the frame reference counting by adding AVBufferRefs to the frame.
2015-06-26 20:20:14 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Also proxy the data/size pointers for our wrapper AVBufferRef
2015-06-26 17:30:25 +0200 Wim Taymans <wtaymans@redhat.com>
* ext/libav/gstavcodecmap.c:
codecmap: add vp9 mapping
2015-06-26 16:50:16 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/libav/gstavviddec.c:
avviddec: Wrap the original AVBufferRef in our own buffer for the destroy function
Just adding a dummy buffer at the very end might not be enough as there
already might be too many buffers.