After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 675128 - Built-In recorder (CTRL+SHIFT+ALT+r) only works once a session
Built-In recorder (CTRL+SHIFT+ALT+r) only works once a session
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 673017 677196 677231 681740 682032 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-04-30 09:40 UTC by Mike Herwig
Modified: 2012-08-16 22:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
main: Close the recorder instead of pausing it (1.09 KB, patch)
2012-05-02 15:11 UTC, Rui Matos
committed Details | Review

Description Mike Herwig 2012-04-30 09:40:22 UTC
Hope it's the right component.

Description:

The built-In recorder (CTRL+SHIFT+ALT+r) only works once a session. It will save the video file to my Videos dir but if I want to record another video it won't get saved until I relogin.

Additional info:
installed xdg-user-dirs

Steps to reproduce:
1. record/stop recording video with CTRL+SHIFT+ALT+R
2. check video file in $HOME/Videos
3. do it again

original bug report in arch tracker:
https://bugs.archlinux.org/task/29614#comment93594

Someone posted there:

"It appends to the same video but I don't know if that's a feature or a bug. It clearly fails when you delete the video and record again. Then nothing gets recorded at all."
Comment 1 Rui Matos 2012-05-01 19:37:09 UTC
Currently we just call pause() on the recorder. Calling close() instead should fix this. I'm not sure if that would be the best fix for this though as I don't know the rationale behind using pause() in the first place. Anyone?
Comment 2 Owen Taylor 2012-05-01 20:18:40 UTC
 * shell_recorder_set_filename:
 * @recorder: the #ShellRecorder
 * @filename: the filename template to use for output files,
 *            or %NULL for the defalt value.
 *
 * Sets the filename that will be used when creating output
 * files. This is only used if the configured pipeline has an
 * unconnected source pad (as the default pipeline does). If
 * the pipeline is complete, then the filename is unused. The
 * provided string is used as a template.It can contain
 * the following escapes:
 *
 * %d: The current date as YYYYYMMDD
 * %u: A string added to make the filename unique.
 *     '', 'a', 'b', ... 'aa', 'ab', ..
 * %c: A counter that is updated (opening a new file) each
 *     time the recording stream is paused.
 * %%: A literal percent
 *
 * The default value is 'shell-%d%u-%c.ogg'.

 * shell_recorder_pause:
 * @recorder: the #ShellRecorder
 *
 * Temporarily stop recording. If the specified filename includes
 * the %c escape, then the stream is closed and a new stream with
 * an incremented counter will be created. Otherwise the stream
 * is paused and will be continued when shell_recorder_record()
 * is next called.

commit 7cc1bdb35df4003e2d96cbf9d2f4f28767440d63
Author: Florian Müllner <fmuellner@gnome.org>
Date:   Fri Feb 24 18:14:58 2012 +0100

    recorder: Change default output filename
    
    Use "Screencast at 2009-03-11 00:08:15.webm" instead of
    "shell-20090311b-2.webm".
    
    https://bugzilla.gnome.org/show_bug.cgi?id=670753

-#define DEFAULT_FILENAME "shell-%d%u-%c.webm"
+#define DEFAULT_FILENAME "Screencast at %d %t.webm"

Note removal of %u and %c 

The basic original design was to enable recording a single video in chunks. I dont suspect people use that this much - so we could probably just switch to calling close(). Someone needs to check:

  /* Release the refcount we took when we started recording */
  g_object_unref (recorder);

to check if that's too early since the pipeline won't be gone for some time after the call to close().
Comment 3 Rui Matos 2012-05-02 15:11:36 UTC
Created attachment 213300 [details] [review]
main: Close the recorder instead of pausing it

Pausing means that we will continue to use the same output file when
the keybinding is activated again. While useful to record a single
video in chunks, it doesn't seem to be how most users understand the
keybinding. Closing the recorder will close the file and create a new
one the next time the keybinding is pressed.

--

(In reply to comment #2)
> The basic original design was to enable recording a single video in
chunks. I
> dont suspect people use that this much - so we could probably just
switch to
> calling close().

Ok. I think it's best to change it to close since people expect to be
able to move the video file away after having "finished" their
recording.

The pause feature would probably be useful as well but maybe in a
different shortcut. Or even better, since we already have plenty of
shortcuts, as a D-Bus api that a recorder GUI could use.

> Someone needs to check:
>
>   /* Release the refcount we took when we started recording */
>   g_object_unref (recorder);
>
> to check if that's too early since the pipeline won't be gone for
some time
> after the call to close().

It doesn't seem to be a problem since the current JS code never drops
the reference. Actually that ref/unref pair doesn't seem to be needed
nowadays but it doesn't hurt either and it's documented.
Comment 4 Jasper St. Pierre (not reading bugmail) 2012-05-02 15:17:34 UTC
Review of attachment 213300 [details] [review]:

Of course.
Comment 5 Rui Matos 2012-05-03 07:30:49 UTC
Attachment 213300 [details] pushed as 915524e - main: Close the recorder instead of pausing it
Comment 6 Florian Müllner 2012-05-31 15:01:26 UTC
*** Bug 677196 has been marked as a duplicate of this bug. ***
Comment 7 Jasper St. Pierre (not reading bugmail) 2012-05-31 17:16:06 UTC
*** Bug 673017 has been marked as a duplicate of this bug. ***
Comment 8 Cosimo Cecchi 2012-05-31 22:35:24 UTC
*** Bug 677231 has been marked as a duplicate of this bug. ***
Comment 9 Frederic Peters 2012-08-13 10:16:31 UTC
*** Bug 681740 has been marked as a duplicate of this bug. ***
Comment 10 Frederic Peters 2012-08-16 22:08:01 UTC
*** Bug 682032 has been marked as a duplicate of this bug. ***