forked from GNOME/cheese
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
3015 lines (2842 loc) · 134 KB
/
NEWS
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
ChangeLog for Cheese
--------------------
version 3.9.3
- Add documentation for CheeseCamera signals
- Remove unused Cheese.MainWindow.get_data_file_dir
- Make the flash background white
- Fix assertion failures when taking a photo
Before this patch, Cheese would log the following each time the user
takes a photo:
(cheese:21719): GLib-GIO-CRITICAL **: g_file_info_get_size: assertion
`G_IS_FILE_INFO (info)' failed
(cheese:21719): GLib-GObject-CRITICAL **: g_object_unref: assertion
`G_IS_OBJECT (object)' failed
- Fix updating sensitivity of device selection combo
If Cheese was started with 1 device, and then a second was added, the
device selection stayed insensitive, making it impossible to select the
second device.
This fixes the problem, and also makes the combo insensitive again when
going from >= 2 devices to <= 1 device.
- Downscale image for effects-preview pipeline
Having the whole effects-preview bin deal with ie 1280x800 images is not
very useful, especially since even when fullscreen on a full-HD monitor,
the preview images are smaller then 640xXXX. This useless high-res
processing for 9 preview images in parallel brings my 2nd gen
core i5 @ 3.1 GHz to its knees, resulting in a non fluid preview panel.
Also after clicking through all effect preview pages, so that all effect
preview textures are connected, cheese will use 1 GB of *resident* RAM
with the example 1280x800 capture resolution.
This patch improves this by downscaling the images from the video-source
to 640xXXX where XXX is determined by the original resolution
aspect-ratio.
After this patch the effects preview framerate is much smoother, and the
latency is noticably less. As a bonus the maximal resident size of
Cheese in this example is reduced to 350 MB.
- Do not block the main valve while recording
Otherwise frames intended for the recording are dropped.
- Only add videoconvert elements where necessary
The "no effect" effect is our default value, and thus worth optimizing a
bit. Clearly in the "no effect" effect case adding a videoconvert
element both before and after the element is not needed.
Note we also don't add the videoconvert elements when creating the
initial pipeline, so this also keeps the way the pipeline looks
initially and when "no-effect" is selected consistent.
When starting Cheese with "no-effect" selected, this shaves off another
130 ms of the initial pipeline creation time.
- Drop unused preview_caps variable
- Simplify returned GstCaps
In cheese_camera_device_get_caps_for_format, simplify the returned caps.
This results in much simpler caps, which as main advantage that they are
way easier to read when trawling to debug logs.
- Fix cheese_camera_device_get_best_format memleak
cheese_camera_device_get_best_format() calls
cheese_camera_device_get_format_list(), which returns a sorted copy of
the format lists, then takes the first element of that list, and
returns a copy of that element. While never freeing the list copy.
This patch fixes this leak by simply making the priv->formats list
sorted so that cheese_camera_device_get_best_format can use it directly
without the need to make (and then later free) a copy.
- Fix cheese_camera_device_filter_caps warning
- Remove unused GstCameraBinFlags enum
- Fix video-source memleak when switching cameras
- Improve error handling in CheeseCamera
Simplify error cleanup in cheese_camera_set_camera_source(). Do not call
g_error_free() on a possible NULL error in
cheese_camera_element_from_effect().
- Fix no-video-after-switching-resolution problem
There is a bug in wrappercamerabinsrc which causes it to lose its
video-source setting after the pipeline has started, so on a
stop/re-start, as when changing resolution, its video-source has become
NULL, and there is no longer video.
This patch works around this by moving the setting of the video-source
property to cheese_camera_play(), so that it gets (re)set each time
before starting the pipeline.
I've also written a patch fixing the underlying cause, but since the
workaround is simple, and has no adverse effects when the underlying
issue is fixed, it seems a good idea to have this workaround in Cheese,
see here for the gst-plugins-bad fix:
https://bugzilla.gnome.org/show_bug.cgi?id=701915
- Remove extranous csp_post_balance element
camerabin2 already has a videoconvert element both before and after its
video-source-filter element, so ending the video-source-filter bin with
a videoconvert element puts 2 videoconvert elements behind each other,
which is not really useful.
- Add a capsfilter to the video-source bin
This serves 2 purposes. Firstly, it forces GStreamer to actually run the
video source at the configured resolution, rather then say run it at
1600x1200 @ 5 fps and downscale that to 800x600 (still at 5 fps), as
GStreamer opts to do with my Logitech Webcam Pro 9000, when left to its
own auto negotiate code. Secondly, by greatly reducing the amount of
advertised caps (this cam supports lots of different resolutions at many
different framerates per resolution), it avoids a caps intersect
"explosion", reducing the pipeline caps negotiation.
- Remove nautilus-sendto sharing support
As nautilus-sendto can now only share by email, the sharing can be
handled by a photo management application, or directy by the email
client.
- Avoid assert when taking avatar photos too quickly
If the take photo button was pressed while a photo was being taken, an
assert would be triggered by the failed call to
cheese_camera_take_photo_pixbuf(). Avoid this by setting the take photo
button insensitive while a photo is being taken, and setting it
sensitive after the photo has been taken. Fixes bug 699596.
- Post-release bump to 3.9.3
- Added/Updated Translations
- hu, courtesy of Balázs Úr
- ja, courtesy of Noriko Mizumoto
- th, courtesy of Akom Chotiphantawanon
- zh_CN, courtesy of tuhaihe
- Added/Updated Documentation
- de, courtesy of Christian Kirbach
version 3.9.2
- Make maintainer.sh compliant with POSIX sh
- Post-release bump to 3.9.2
- Disable the shoot action if the effects are shown
Fixes bug 700317.
- Stop the running countdown on destruction
Fixes bug 700315.
- Added/Updated Translations
- he, courtesy of Yaron Shahrabani
- lt, courtesy of Aurimas Černius
- nb, courtesy of Kjartan Maraas
- sk, courtesy of Pavol Klačanský
- sl, courtesy of Matej Urbančič
version 3.9.1
- Fix UI string in avatar chooser test
- Use AM_VALAFLAGS rather than VALAFLAGS
- Avoid Vala warning about copying delegates
Mark the variable in which CountdownCallback is stored as unowned, as it
is simply a pointer to the callback.
- Use "autocluttersink" instead of "cluttersink"
- Use clutter_actor_set_background_color
Instead of the deprecated cltuter_stage_set_color, use
clutter_actor_set_background_color.
- Use clutter_actor_add_child
Instead of using the deprecated clutter_container_add_actor, use
clutter_actor_add_child.
- Avoid deprecated clutter_actor_animate
Use implicit animation instead.
- Avoid deprecated clutter_table_layout_set_expand
Use the "expand-x" and "expand-y" properties on ClutterActor instead
(which are both set to false by default).
- Use ClutterActor rather than ClutterRectangle
- User ClutterActor rather than ClutterBox
ClutterBox is deprecated.
- Bump required versions of Clutter and GIO
GIO 2.32 or above is required for GMenu support and Clutter 1.12 is
required to make use of new API to avoid deprecation warnings when using
Clutter 1.12 or above.
- Avoid Vala compiler warning about implicit begin
- Fix cheese_thumb_view_new() prototype
- Remove some unnecessary "static" keywords
This avoids some warnings from the Vala compiler.
- Update burst mode help page
Improve the wording, add more details about the preference dialog.
- Update the gschema to use "photo" and "image"
Use "photo" and "image" instead of "picture" so that the schema
descriptions are more consistent and precise.
- Improve "Fire Flash" string in the Preferences
Change "Fire Flash" to "Fire flash" because it is not a title, so should
not use header capitalisation.
- Fix typos in help
- Update help for 3.8
Mark author emails as not translatable. Correct "version" to
"pkgversion" in revision tags. Update instructions for app menu and new
preference dialog tabs. Stub mode-wide.page because the instructions are
wrong.
- Replace GtkBox casts with GtkGrid casts
This manifested as the "Leave Fullscreen" button not being displayed
when switching into fullscreen mode. Fixed bug 691454.
- libcheese doesn't need gnome-desktop
So don't link to it.
https://bugzilla.gnome.org/show_bug.cgi?id=694288
- cheese-camera: Fix creation of effects previews
Since many previews are created, with many cluttersinks, we can't name
the cluttersinks all the same. Passing NULL as the name of the element
will let gstreamer choose the name.
- libcheese: Fix deprecated clutter sink creation
Create cluttersink with element_factory_make.
- Depend on valac 0.18 for gstreamer-1.0
gstreamer-1.0 vala bindings is only available on valac-0.18.
- Update icon in user help to be untranslatable
- Fix translations of keywords in .desktop files
- Improve more translatable strings, bug 695459
Disambiguate the "Take a photo" string further.
- Improve some translatable strings, bug 695459
Add a translator comment and extend some translatable strings to make
the context more clear.
- Post-release bump to 3.7.92
- Added/Updated Translations
- as, courtesy of Nilamdyuti Goswami
- be, courtesy of Yuri Matsuk
- ca, courtesy of xavier
- ca@valencia, courtesy of xavier
- cs, courtesy of Marek Černocký
- da, courtesy of Kenneth Nielsen
- de, courtesy of Mario Blättermann
- el, courtesy of Dimitris Spingos (Δημήτρης Σπίγγος)
- es, courtesy of Daniel Mustieles
- fa, courtesy of Arash Mousavi
- fi, courtesy of Jiri Grönroos
- fr, courtesy of Pierre Henry
- gl, courtesy of Fran Dieguez
- hi, courtesy of raj
- hu, courtesy of Balázs Úr
- ko, courtesy of Changwoo Ryu
- lv, courtesy of Rūdolfs Mazurs
- ml, courtesy of Anish A
- nl, courtesy of Reinout van Schouwen
- or, courtesy of Manoj Kumar Giri
- pt_BR, courtesy of Enrico Nicoletto
- pt, courtesy of Duarte Loreto
- sk, courtesy of Pavol Klačanský
- sr, courtesy of Мирослав Николић
- sr@latin, courtesy of Miroslav Nikolić
- ta, courtesy of Shantha kumar
- tr, courtesy of Muhammet Kara
- uk, courtesy of Daniel Korostil
- Added/Updated Documentation
- ca, courtesy of Gerard Alcorlo Bofill
- de, courtesy of Tobias111
- el, courtesy of Dimitris Spingos (Δημήτρης Σπίγγος)
- es, courtesy of Daniel Mustieles
- fr, courtesy of Mickael Albertus
- hu, courtesy of Gabor Kelemen
- pt_BR, courtesy of Enrico Nicoletto
version 3.7.91
- Post-release bump to bersion 3.7.91
- Added/Updated Translations
- cs, courtesy of Marek Černocký
- de, courtesy of Mario Blättermann
- fr, courtesy of Pierre Henry
- gu, courtesy of
- pa, courtesy of A S Alam
version 3.7.90
- Change schema path to standard format, bug 673965
- Remove libgee dependency from configure.ac
Since commit 4dc020519fb57a9e0fac806ce9b421a551ffa2a4 Cheese no longer
depends on libgee.
- Avoid using libgee
Rather than port to libgee 0.8, drop use of it entirely.
- Post-release version bump to 3.7.5
- Added/Updated Translations
- an, courtesy of Daniel Martinez
- eu, courtesy of Iñaki Larrañaga Murgoitio
- it, courtesy of Milo Casagrande
- pl, courtesy of Piotr Drąg
- sr, courtesy of Мирослав Николић
- sr@latin, courtesy of Miroslav Nikolić
- ug, courtesy of Gheyret Kenji
- zh_HK, courtesy of Chao-Hsiung Liao
- zh_TW, courtesy of Chao-Hsiung Liao
- Added/Updated Documentation
- de, courtesy of Tobias111
- es, courtesy of Daniel Mustieles
version 3.7.4
- Eliminate an instance-used-via-static warning
- Avoid deprecated GFile attribute syntax
Bump Vala requirement to 0.16.0.
- Update photo-take help page
Update language and add instructions for capturing photo using a
capture button on a webcam (bug 690961)
- Shoot when the webcam capture button is pressed
This functionality existed is Cheese 2.32 (it was added in commit
de0114556cef148c396552d1c189b476ea0c8aab) but was lost in 3.0. Add it
back to fix bug 690961.
- Post-release bump to version 3.7.4
- Added/Updated Translations
- an, courtesy of Jorge Pérez Pérez
- bg, courtesy of Krasimir Chonov
- el, courtesy of Dimitris Spingos (Δημήτρης Σπίγγος)
- et, courtesy of Mattias Põldaru
- fur, courtesy of TmTFx
- gl, courtesy of Fran Dieguez
- he, courtesy of Yaron Shahrabani
- hu, courtesy of Balázs Úr
- kk, courtesy of Baurzhan Muftakhidinov
- lt, courtesy of Aurimas Černius
- nb, courtesy of Kjartan Maraas
- ru, courtesy of Aleksej Kabanov
- sl, courtesy of Matej Urbančič
- th, courtesy of Akom Chotiphantawanon
version 3.7.3
- Return to the video view after selecting an effect
Fixes bug 687879.
- More g_thread_init() removal
Add --target-glib 2.32 to the VALAFLAGS so that we don't get
g_thread_init() in the generated .c code.
- Drop calls to g_thread_init() in tests
Our dependency on Gtk 3.4 already gives us an indirect dependency on a
GLib that no longer requires these calls.
We got away with this for a while due to gstreamer's public dependency
on libgthread, but as of bug 689043 gstreamer no longer does this so we
now get link errors.
https://bugzilla.gnome.org/show_bug.cgi?id=689117
- Handle thumbnail directory creation, bug 671614
- Return NULL rather than a const empty string
Fix bug 687042 and bug 687123 by returning NULL from
cheese_camera_get_recorded_time() rather than a const empty string. The
returned NULL can be safely freed with g_free(), whereas freeing the
const string is undefined and leads to a crash with glibc.
- Add keywords to the desktop file
This makes gnome-shell search more satisfying.
https://bugzilla.gnome.org/show_bug.cgi?id=687006
- Add some missing mnemonics, bug 684513
- Post-release verson bump to 3.7.1
- Added/Updated Translations
- an, courtesy of Jorge Pérez Pérez
- as, courtesy of Nilamdyuti Goswami
- ca@valencia, courtesy of Gil Forcada
- el, courtesy of Tom Tryfonidis
- es, courtesy of Daniel Mustieles
- pl, courtesy of Piotr Drąg
- sk, courtesy of Pavol Babinčák
- ta, courtesy of Shantha kumar
- Added/Updated Documentation
- lv, courtesy of Rūdolfs Mazurs
- sl, courtesy of Andrej Žnidaršič
version 3.6.0
- Added/Updated Translations
- bg, courtesy of Krasimir Chonov
- bn_IN, courtesy of Sayak Sarkar
- et, courtesy of Mattias Põldaru
- fr, courtesy of Pierre Henry
- ja, courtesy of Noriko Mizumoto
- ky, courtesy of Timur Zhamakeev
- ml, courtesy of Ani Peter
- pa, courtesy of A S Alam
- te, courtesy of Krishnababu Krothapalli
- th, courtesy of Akom Chotiphantawanon
- uk, courtesy of Re.
- zh_CN, courtesy of YunQiang Su
- Added/Updated Documentation
- el, courtesy of Tom Tryfonidis
- fr, courtesy of Bruno Brouard
version 3.5.92
- Post-release version bump to 3.5.92
- Added/Updated Translations
- be, courtesy of Yuri Matsuk
- cs, courtesy of Marek Černocký
- da, courtesy of Kenneth Nielsen
- en_GB, courtesy of Bruce Cowan
- fa, courtesy of Arash Mousavi
- fi, courtesy of Jiri Grönroos
- fr, courtesy of Pierre Henry
- gl, courtesy of Leandro Regueiro
- hi, courtesy of rajesh
- hu, courtesy of Gabor Kelemen
- ko, courtesy of Seong-ho Cho
- lv, courtesy of Rūdolfs Mazurs
- or, courtesy of Manoj Kumar Giri
- pt_BR, courtesy of Fábio Nogueira
- ru, courtesy of Yuri Myasoedov
- tr, courtesy of Muhammet Kara
- Added/Updated Documentation
- fr, courtesy of Bruno Brouard
- gl, courtesy of Fran Dieguez
- hu, courtesy of Gabor Kelemen
- pt_BR, courtesy of Gabriel Speckhahn
version 3.5.91
- Post-release version bump to 3.5.91
- Fix another missing stdlib.h include
For EXIT_FAILURE.
- Bump libtool versioning after GStreamer 1.0 port
- Move variable declarations before code in C source
This allows compilation to succeed with
‘-Werror=declaration-after-statement’ passed to GCC.
- Fix comment about preset locations
Update for new location in GStreamer 1.0.
https://bugzilla.gnome.org/show_bug.cgi?id=680422
- Update pkg-config dependencies for GStreamer 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=680422
- Fix dependencies for Cheese introspection
Update for GStreamer 1.0.
https://bugzilla.gnome.org/show_bug.cgi?id=680422
- Add stdlib.h include for EXIT_SUCCESS
- Depend on the new clutter-gst version
- Update to the new pad template name
- Rename ffmpegcolorspace to videoconvert
The element was renamed in GStreamer 1.0.
- Update raw caps to new format
There is no video/x-raw-yuv or -rgb, they are both now video/x-raw with
a format field.
- Update to GStreamer 1.0 API
- Rename camerabin2 to camerabin
camerabin2 was renamed to camerabin in GStreamer 1.0.
- Depend on gstreamer-1.0
- Do not set filter-caps property on camerabin2
The "filter-caps" property doesn't exist on camerabin2.
- Re-add GstCaps variable in CheeseCamera
caps variable was removed during rebase, but it is still used.
- Fix CheeseCamera recording time reporting
Camerabin2 maintains its pipeline clock continuously running, this makes
the time reporting for video recording actually report the time since
camerabin2 was initialized.
This patch fixes it by querying the video filesink for the correct
recording time.
- Check for camerabin2 instead of camerabin
- Encode WebM/VP8 instead of OGG/Theora
Create WebM profile and use it with camereabin2. Also use presets for
vp8enc.
- Stop-capture is asynchronous in camerabin2
Wait for video-done message to signal that capture is over.
- Image-done message is posted by camerabin2
Camerabin2 is the element to post the image-done message, not the camera
source.
- Remove unused variables warnings in CheeseCamera
- Split setting of CheeseCamera caps from playing
Add new cheese_camera_set_new_caps() method, split from
cheese_camera_play().
- Set ClutterTextureVideoSink sync=false
Without this the sink will issue a warning:
** (cheese:21655): WARNING **: Internal data flow problem.:
gstbasesink.c(3626): gst_base_sink_chain_unlocked ():
/GstCameraBin2:camerabin2/GstViewfinderBin:vf-bin/ClutterGstVideoSink:cluttergstvideosink0:
Received buffer without a new-segment. Assuming timestamps start from 0.
I'm not sure what the implications of this setting are. It might be
caused by the clock/time rewriting magic from camerabin2.
- Do not switch mode when stopping video recording
- Set the video resolution
Use the viewfinder-caps property of camerabin2, rather than the
set-video-resolution-fps signal of camerabin.
- Fix pixbuf-only capture
camerabin2 sends the preview-image bus message through the
gstwrappercamerabinsrc.
In camerabin2 if the location is NULL, it is interpreted as a "don't
write in a file just post the buffer as a bus message".
- Enable post-preview property when needed
When taking a photo to pixbuf, sets post-preview to enable camerabin2 to
send the preview message.
- Remove camerabin workaround
No longer needed with camerabin2.
- Convert image-done to a bus message, from a signal
Quote from camerabin2's PORTING guide:
In camerabin, image-done is a signal, in camerabin2, it is a bus message
Signed-off-by: Raluca Elena Podiuc <[email protected]>
- Use definitions of MODE_IMAGE/VIDEO from camerabin
#ifndef GST_USE_UNSTABLE_API
#warning "camerabin enums are unstable API and may change in future."
#warning "You can define GST_USE_UNSTABLE_API to avoid this warning."
#endif
- Handle photo/video moved to monitored directories
Camerabin2 creates a temporary file, writes data to it and in the end it
moves it to the destination path.
Without G_FILE_MONITOR_SEND_MOVED to g_file_monitor_directory, moves
would be sent as DELETE + CREATE.
Unfortunately, we would also get CREATE events when the temporary file
was created. We cannot listen for CREATE events as temporary files would
be CREATEd and then CHANGEd and the thumb-view creation code would work
with bad data.
By using G_FILE_MONITOR_SEND_MOVED we get a single event when the file
is moved. As the file monitor ignores files with unknown extensions (as
is the case for the temporary files created by camerabin2) we could only
just append the new file. But because the user might also move a
picture/video manually from the Pictures/Webcam or Videos/Webcam
directories, removing the old file from the thumb-view keeps it
up-to-date with the state of the file system.
If camerabin2 switches away from the create-temp+move approach, to the
camerabin one (create the destination file directly), we're prepared
to handle that code with G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT.
- Rename filename and capture-start/stop
Quote from camerabin2's PORTING guide:
[...] is now called 'location' instead of 'filename'
The signals were renamed from capture-start/stop to start/stop-capture
as this is the usual naming on actions.
- Video filter on camera_source applies to all modes
If the effect is applied on camera_source, the effect will be available
in viewfinder and image/video capture modes.
- Minimal functionality based on camerabin2
These are the minimal changes needed to integrate camerabin2.
Support for:
- viewfinder (Cheese's main window)
- effect previews
Porting details:
- obviously, the name has changed to camerabin2
- Camerabin2 requires something special from it's "camera-source".
We use the "wrappercamerabinsrc" module provided by camerabin2 which
creates a "camera-source" suitable for camerabin2 based on a regular
video source.
- Depend on GTK+ 3.4.4 for GtkIconView changes
- Request correct number of thumbview columns
Rather then assuming 5000 will be enough, just set the number of columns
to the number of thumbnails in the view. Fixes bug 634958 and bug 678446.
Signed-off-by: Hans de Goede <[email protected]>
- Add missing stdlib.h includes
For the EXIT_* macro definitions.
https://bugzilla.gnome.org/show_bug.cgi?id=682491
- Remove unneeded XOverlay includes
https://bugzilla.gnome.org/show_bug.cgi?id=682490
- Ensure width is a multiple of 8, and height of 2
We ask GStreamer to use an YUV format in the pipeline, by setting the
camerabin's "filter-caps" to "video/x-raw-yuv", and GStreamer demands of
YUV format frames that their width is a multiple of 8, and their height
a multiple of 2.
Previous to this patch my bttv tvcard lists the following resolutions in
Cheese:
924x576 (*)
920x576
640x480
462x288 (*)
460x288 (*)
320x240
231x144 (*)
230x144 (*)
160x120
Where all the ones marked with an asterisk do not work.
After this patch the list is:
920x576
640x480
456x288
320x240
224x144
160x120
And all work.
Signed-off-by: Hans de Goede <[email protected]>
- Fix cheese_camera_device_update_format_table loop
Some devices report a very small min_width / height down to reporting
0x0 as minimum resolution, which causes an infinite loop in
cheese_camera_device_update_format_table().
This patch limits the minimum resultion to 160x120, both to fix the
infinite loop issue, and to remove ridiculous resolutions such as 2x2,
5x3, 11x7, 22x15 etc. which are seen in the resolution drop down on some
devices.
For more details on the infinite loop issue, see:
https://bugzilla.redhat.com/show_bug.cgi?id=850505
Signed-off-by: Hans de Goede <[email protected]>
- Post-release version bump to 3.5.90
- Added/Updated Translations
- as, courtesy of Nilamdyuti Goswami
- de, courtesy of Tobias Endrigkeit
- gl, courtesy of Leandro Regueiro
- gu, courtesy of "Last-Translator: \n"
- he, courtesy of Yaron Shahrabani
- id, courtesy of Dirgita
- it, courtesy of Francesco Valente
- kn, courtesy of Shankar Prasad
- lt, courtesy of Aurimas Černius
- mr, courtesy of Sandeep Shedmake
- nb, courtesy of Kjartan Maraas
- pl, courtesy of Piotr Drąg
- pt, courtesy of Duarte Loreto
- sr, courtesy of Мирослав Николић
- sr@latin, courtesy of Miroslav Nikolić
- ta, courtesy of Dr.T.Vasudevan
- vi, courtesy of Nguyễn Thái Ngọc Duy
- zh_HK, courtesy of Chao-Hsiung Liao
- zh_TW, courtesy of Chao-Hsiung Liao
- Added/Updated Documentation
- de, courtesy of Mario Blättermann
version 3.5.5
- Fix zh_CN translation markup
- Set G_LOG_DOMAIN for libcheese and libcheese-gtk
Define the logging domain for the GLib logging system, so that messages
are prefixed with the name of the library.
- Fix missing translation for a string
https://bugzilla.gnome.org/show_bug.cgi?id=680756
- Post-release bump to version 3.5.5
- Added/Updated Translations
- as, courtesy of Nilamdyuti Goswami
- de, courtesy of Tobias Endrigkeit
- el, courtesy of Tom Tryfonidis
- es, courtesy of Daniel Mustieles
- gl, courtesy of Fran Dieguez
- gu, courtesy of "Last-Translator: \n"
- ja, courtesy of Jiro Matsuzawa
- sl, courtesy of Matej Urbančič
- zh_CN, courtesy of Wylmer Wang
- zh_HK, courtesy of Chao-Hsiung Liao
- zh_TW, courtesy of Chao-Hsiung Liao
- Added/Updated Documentation
- zh_CN, courtesy of Wylmer Wang
version 3.5.4
- Require Clutter 1.10.0 for aspect frame changes
- help: fixed broken links in Mallard docs
- libcheese: Use Totem's aspect frame
Based on the same code as the CheeseAspectFrame, but with
the mx dependency removed.
https://bugzilla.gnome.org/show_bug.cgi?id=678976
- help: Fix Greek help translation
Ampersands need to be escaped in the translations.
- docs: Don't try to get documentation from marshal files
- Post-release version bump to 3.5.4
- Added/Updated Translations
- as, courtesy of Nilamdyuti Goswami
- be, courtesy of Yuri Matsuk
- bg, courtesy of Krasimir Chonov
- el, courtesy of Tom Tryfonidis
- es, courtesy of Daniel Mustieles
- gl, courtesy of Fran Dieguez
- he, courtesy of Yaron Shahrabani
- id, courtesy of Andika Triwidada
- nb, courtesy of Kjartan Maraas
- sl, courtesy of Matej Urbančič
- Added/Updated Documentation
- el, courtesy of Tom Tryfonidis
- es, courtesy of Daniel Mustieles
- id, courtesy of Andika Triwidada
version 3.5.3
- Add border to capture page of preferences dialog
- Add accelerators to menu items
- Make the preferences dialog work again
Move the Cheese.Camera to Cheese.Main and use the same camera in
Cheese.MainWindow and Cheese.PreferencesDialog. Setup the Camera in
Cheese.Main.
- Enable handling of the shoot action
- Enable effects state change action
- Enable handling of the fullscreen action
- Set photo button text based on mode state
- Make preferences and mode actions application-wide
Move PreferencesDialog from MainWindow to Main. Handle app.mode action
changes and update the state accordingly.
- Add David King to authors in about dialog
- Start porting to application-wide GMenu
Add a menu to the application, and enable application-wide actions for
showing the help, showing the about dialog and quitting the application.
Move the GtkBuilder definition of the about dialog into Cheese.Main.
- Update TODO
Remove some completed TODO items.
- Use a realtime preset for video encoder element
Use the ‘Profile Realtime’ preset for vp8enc to set reasonable defaults
for realtime encoding. The preset was added in gst-plugins-bad 0.10.23,
so fall back to reasonable defaults. Fixes bug 668560 and partially
fixes bug 674779.
- Do not add 0-sized files to the thumb view
Sometimes, ie when Cheese crashes when starting to record, something which
we need to fix, 0 bytes large files are created under ~/Videos/Webcam.
totem-video-thumbnailer does not like these, getting stuck for around a
minute on them, I have filed bug 677734 for this.
But even with this bug fixed, trying to add 0 byte sized files to the
thumb view makes no sense, and in the mean time it also neatly works
around this totem-video-thumbnailer bug.
Fixes bug 677735.
- Do not overwrite camerabin's default flags
The comment above this code said: "Set flags to enable conversions", but
camerabin has conversion enabled in the necessary places by default, all
the code does is add an extra, unneeded ffmpegcsp element at the
beginning of the pipeline.
This results in a huge number of reported caps on pads further down the
pipeline, which when intersected with input caps of later ffmpegcsp
elements leads to an explosion of possible combinations and
gst_caps_intersect_full starts consuming the CPU for 100% for seconds
(various Fedora users have reported startup delays of upto a minute).
On my test system, with a Logitech Webcam 9000 Pro, the time to create
the camerabin pipeline (not start, not configure, just create!) drops
from 7 seconds to 0.7 seconds by elimenating the unnecessary ffmpegcsp
element at the beginning of the pipe.
The only reason the ffmpegcsp element this patch removes could be useful
would be for cameras producing only JPEG data, but since Cheese always
uses v4l2src, and that should always be compiled with libv4l2 support
(otherwise a lot of camera specific video formats will not be
understood), libv4l2 will take care of JPEG decompression, so there
really is no reason for having this extra element, and thus no reason to
override the default camerabin flags.
Fixes bug 677731.
- Add libcheese headers to GIR source files
- Fix images missing from effect buttons
Commit 4cb11731e62b51c684993e43000c933ea97785c2 fixed the images missing
from the photo / video / burst buttons, but the same problem also
affects the previous effects-page, effects, next effects-page buttons.
This patch fixes them too.
Note that unlike the commit message of commit 4cb11731 suggest this
not only fixes the printing of warnings to the console, it also fixes
the pixmaps actually missing from the buttons. Fixes bug 677543.
- Do not add NULL devices to the camera list
cheese_camera_device_monitor_set_up_device() will return NULL for non
video devices (ie vbi & radio devices). Emitting the added signal with
such a NULL device, causes it to get added to the camera list, which
later on causes cheese to crash.
This patch fixes this by not emitting the added signal for non camera
devices. Fixes bug 677574.
- Post-release version bump to 3.5.3
- Added/Updated Translations
- as, courtesy of Nilamdyuti Goswami
- el, courtesy of Ioannis Zampoukas
version 3.5.2
- Depend on intltool 0.50 for GSettings translations
- Use G_SOURCE_REMOVE and _CONTINUE
- Use GDK provided work area code, bug 670996
- Remove markup from translatable string
- Updated help makefile
- Add fullscreen help page
- Update help index page
- Updated introduction help page
- Efstathios Iosifidis <[email protected]>
- Added/Updated Translations
- es, courtesy of Daniel Mustieles
- fr, courtesy of Pierre Henry
- gl, courtesy of Fran Dieguez
- he, courtesy of Yaron Shahrabani
- ja, courtesy of Jiro Matsuzawa
- nb, courtesy of Kjartan Maraas
- pt_BR, courtesy of Gabriel Speckhahn
- sl, courtesy of Matej Urbančič
- Added/Updated Documentation
- el, courtesy of Efstathios Iosifidis
- es, courtesy of Daniel Mustieles
- fr, courtesy of Bruno Brouard
version 3.5.1
- Add cheese_camera_get_recorded_time to API doc
- Properly quote $UDEV_REQUIRED variable, bug 673628
Otherwise configure fails on systems which don't have libgudev
installed.
- Stop warnings caused by the mode buttons
Once we've set the related action, the label will have been synced, and
we won't be able to add an image to the button.
Setting "use-action-appearance" to False before setting the
related-action works around the problem. See GTK+ bug 671912.
https://bugzilla.gnome.org/show_bug.cgi?id=671913
- Show a timer when recording a video
Fixes bug 599729.
- Add documentation for cheese_camera_set_tags
- Add some metadata tags to produced files
Metadata is important for search and management applications. These tags
should help to track files produced by Cheese.
Signed-off-by: Oleksij Rempel (Alexey Fisher) <[email protected]>
- Post-release version bump to 3.5.1
- Added/Updated Translations
- el, courtesy of Tom Tryfonidis
- es, courtesy of Daniel Mustieles
- gl, courtesy of Fran Dieguez
- he, courtesy of Yaron Shahrabani
- ja, courtesy of Hideki Yamane
- nb, courtesy of Kjartan Maraas
- sl, courtesy of Matej Urbančič
- te, courtesy of Sasi Bhushan Boddepalli
- Added/Updated Documentation
version 3.4.0
- Post-release version bump to 3.4.0
- Added/Updated Translations
- cs, courtesy of Lucas Lommer
- eo, courtesy of Kristjan SCHMIDT
- gu, courtesy of "Last-Translator: \n"
- pt, courtesy of Duarte Loreto
- te, courtesy of GVS.Giri
- vi, courtesy of Nguyễn Thái Ngọc Duy
- Added/Updated Documentation
- lv, courtesy of Rūdolfs Mazurs
- te, courtesy of Bhuvan Krishna
version 3.3.92
- Bump version to 3.3.92
- Avoid overwriting errors in CheeseCamera
As pointed out by Bastien Nocera in bug 671902, CheeseCamera overwrites
GError pointers. Avoid this by setting the error and returning
immediately afterwards.
- Move variable declarations before code in C source
This allows compilation to succeed with
‘-Wdeclaration-after-statement -Werror=declaration-after-statement’
passed to GCC.
- Handle smooth scroll wheel events in EogThumbNav
Fixes bug 672311.
- Avoid gtk_main_quit warning on exit
When the last window is destroyed, GApplication will automatically exit
the main loop. Stops warnings like this on exit:
Gtk-CRITICAL **: gtk_main_quit: assertion `main_loops != NULL' failed
which occur with GTK+ versions 3.3.4 or greater, when GtkApplication was
changed to not override the GApplication mainloop.
https://bugzilla.gnome.org/show_bug.cgi?id=671904
- Post-release version bump to 3.3.91
- Added/Updated Translations
- ar, courtesy of Ibrahim Saed
- as, courtesy of Nilamdyuti Goswami
- bg, courtesy of Krasimir Chonov
- ca, courtesy of Gil Forcada
- da, courtesy of Kenneth Nielsen
- de, courtesy of Mario Blättermann
- en_GB, courtesy of Bruce Cowan
- eu, courtesy of Iñaki Larrañaga Murgoitio
- fa, courtesy of Arash Mousavi
- fi, courtesy of Jiri Grönroos
- fr, courtesy of Alain Lojewski
- hi, courtesy of chandankumar(ciypro)
- hu, courtesy of Gabor Kelemen
- it, courtesy of Milo Casagrande
- km, courtesy of Seng Sutha
- kn
- ko, courtesy of Seong-ho Cho
- lt, courtesy of Aurimas Černius
- lv, courtesy of Anita Reitere
- nb, courtesy of Kjartan Maraas
- pa, courtesy of A S Alam
- pl, courtesy of Piotr Drąg
- pt_BR, courtesy of Gabriel Speckhahn
- ta, courtesy of Dr.T.Vasudevan
- ug, courtesy of Sahran
- uk, courtesy of Korostil Daniel
- zh_CN, courtesy of Wylmer Wang
- Added/Updated Documentation
- hu, courtesy of Gabor Kelemen
version 3.3.90
- Bump libcheese and libcheese-gtk versions
- Initialise X11 threading, bug 669845
- Improve sending files to the trash
Split off the trashing to a separate method. Use Path.build_filename
rather than concatenation of the strings. Simplify the logic slightly.
- Use video path for trashing videos, bug 670178
The photo path was used for deleting videos, which would fail if the
paths were different.
- Install catalog instead of individual package
Replaced hardcoding the nautilus-sendto package name in the code for
runtime installation. Instead, a catalog (cheese.catalog) is used.
Fixes bug 669547.
- Post-release version bump to 3.3.90
- ui: properly handle "delete-event" signal at Preferences dialog,
fixes bug 669384
this bug was resolved once before, here is a short solution description:
the "close" event triggered by the escape key was destroyng the dialog, so
when an user tries to open the Preferences dialog again what appears is
an empty/tiny window. Handle the "delete-event" connecting it with
hide_on_delete() successfully solved the problem.
- Added/Updated Translations
- be, courtesy of Yuri Matsuk
- et, courtesy of Mattias Põldaru
- ml, courtesy of Anish A
- nb, courtesy of Kjartan Maraas
- ru, courtesy of Yuri Myasoedov
- tr, courtesy of Muhammet Kara
- Added/Updated Documentation
- de, courtesy of Mario Blättermann
- fr, courtesy of Bruno Brouard
version 3.3.5
- Use default PackageKit interaction modes
Do not hardcode the PackageKit interaction modes, so that distribution
defaults are used, for example for whether to show a confirmation dialog
when requesting package installation. See the comments on bug 668072 for
some further reasoning.
- Disambiguate GLib.DBus in Cheese.Window
- Use PackageKit for nautilus-sendto dependency
The user has the option to install nautilus-sendto runtime dependency
with PackageKit, in case it is not already installed.
Fixes bug 668072.
- Fix Slovenian help translation
The incorrect closing tag caused a build failure, reported by Luca
Bruno.
- Post-release version bump to 3.3.5
As Cheese provides shared libraries, it is more friendly to bump the
version after a release. As requested by Frédéric Péters.
- Keep generating thumbnails for Theora videos
- Check for VP8/WebM codecs during configure
- Initial switch from theora/ogg to vp8/webm
It is time to go webm :)
Fixes bug 564957 and 666718.
- Fix configure check for Xtst
- Adapt to use new cheese_init and cheese_gtk_init
Additionally, use EXIT_SUCCESS and EXIT_FAILURE when exiting.
- Add init functions to libcheese and libcheese-gtk
Adding wrappers around clutter_gst_init() and clutter_gtk_init() reduces
confusion for API users, as well as reducing link-time dependencies.
Provides a clean fix for bug 668292 and bug 667884.
- Check nautilus-sendto dependency in configure
Check whether nautilus-sendto is installed in the configure script. This
is only required in order to use the sharing functionality, so a warning
is presented if nautilus-sendto is not found.
Fixes bug 668072.
- Mimic Nautilus' behaviour when deleting files
Show one dialog to ask for confirmation of operation. For each error
show a dialog and allow to skip all errors, skip this error or stop
deleting using Cancel.
Fixes bug 664180.
- Added/Updated Translations
- es, courtesy of Daniel Mustieles
- gl, courtesy of Fran Dieguez
- he, courtesy of Yaron Shahrabani
- nb, courtesy of Kjartan Maraas
- sl, courtesy of Matej Urbančič
- sr, courtesy of Мирослав Николић
- sr@latin, courtesy of Miroslav Nikolić
- sv, courtesy of Daniel Nylander
- zh_HK, courtesy of Chao-Hsiung Liao
- zh_TW, courtesy of Chao-Hsiung Liao
- Added/Updated Documentation
- gl, courtesy of Fran Dieguez
- sl, courtesy of Andrej Žnidaršič
version 3.3.4
- Pre-release version bump to 3.3.4
- Add videos and picture sharing support, bug 522210
Integrated nautilus-sendto with Cheese in order to add support for sharing
videos and images with different technologies.
- Cut CONSTRUCT_ONLY from CheeseAvatarChooser:pixbuf
- Use g_clear_object() to clear GObject pointers
- Mark property strings with G_PARAM_STATIC_STRINGS
- Check for DTD and stylesheets for man generation
Copy M4 checks for installed XML catalogs from gtk-doc. Use the checks
in configure.ac to only enable man generation when the required DTDs and
stylesheets are available.
- Fixed bug #667172: there are some errors in Catalan documentation
- help: fix gnome help links, re-try
- help: fix gnome-help links
gnome-help uses help: links as of gnome-user-docs 3.2
- Set PulseAudio media role to ‘production’
This hints to PulseAudio that a microphone control should be presented
to the user. Fixes bug 666875.
- Mark Cheese.Window strings for translation
Fixes bug 666847.
- Remove .gcno files during clean, not lcov-clean
- Use G_DEFINE_BOXED_TYPE for CheeseVideoFormat
- Extend libcheese tests
Add CheeseVideoFormat creation and copy test. Add
CheeseCameraDeviceMonitor test. Add test function for
cheese_fileutil_get_new_media_filename().
- Disable compiler optimisation when lcov is enabled
- Correct PACKAGE_LOCALEDIR, bug 666826
- Fix and simplify ChangeLog generation
- Clean all files generated by lcov report creation
- Add code coverage reporting, using lcov
Introduce new Makfile targets lcov and lcov-clean, to generate an HTML
report of libcheese test code coverage and clean up the generated files.
Check for lcov and genhtml in configure.ac.
- Minor improvements to configure script
Use https for bug report URL. Log the GStreamer plugin output to
config.log. Correct the gtester-report check test.
- Improve test and distcheck Makefile targets
Drop obsolete --disable-scrollkeeper from distcheck configure flags.
Use the same environment for testing and test reporting.
- Add basic CheeseEffect test
- Improve Preferences.setup_resolutions_for_device
Use List.foreach() rather than a for loop. Use multiplication sign, not
the letter x.
- Added/Updated Translations
- ast, courtesy of Xandru Armesto
- be, courtesy of Yuri Matsuk
- de, courtesy of Paul Seyfert