Top | ![]() |
![]() |
![]() |
![]() |
CinnamonRecorder * | cinnamon_recorder_new () |
void | cinnamon_recorder_set_framerate () |
void | cinnamon_recorder_set_file_template () |
void | cinnamon_recorder_set_pipeline () |
void | cinnamon_recorder_set_draw_cursor () |
void | cinnamon_recorder_set_area () |
gboolean | cinnamon_recorder_record () |
void | cinnamon_recorder_close () |
gboolean | cinnamon_recorder_is_recording () |
MetaDisplay * | display | Write |
gboolean | draw-cursor | Read / Write |
char * | file-template | Read / Write |
int | framerate | Read / Write |
char * | pipeline | Read / Write |
ClutterStage * | stage | Read / Write |
CinnamonRecorder *
cinnamon_recorder_new (ClutterStage *stage
);
Create a new CinnamonRecorder to record movies of a ClutterStage
void cinnamon_recorder_set_framerate (CinnamonRecorder *recorder
,int framerate
);
Sets the number of frames per second we try to record. Less frames will be recorded when the screen doesn't need to be redrawn this quickly. (This value will also be set as the framerate for the GStreamer pipeline; whether that has an effect on the resulting video will depend on the details of the pipeline and the codec. The default encoding to webm format doesn't pay attention to the pipeline framerate.)
The default value is 30.
recorder |
the CinnamonRecorder |
|
framerate |
Framerate used for resulting video in frames-per-second. |
void cinnamon_recorder_set_file_template (CinnamonRecorder *recorder
,const char *file_template
);
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
%%: A literal percent
The default value is 'cinnamon-d
u
-c
.ogg'.
recorder |
the CinnamonRecorder |
|
file_template |
the filename template to use for output files,
or |
void cinnamon_recorder_set_pipeline (CinnamonRecorder *recorder
,const char *pipeline
);
Sets the GStreamer pipeline used to encode recordings.
It follows the syntax used for gst-launch. The pipeline
should have an unconnected sink pad where the recorded
video is recorded. It will normally have a unconnected
source pad; output from that pad will be written into the
output file. (See cinnamon_recorder_set_file_template()
.) However
the pipeline can also take care of its own output - this
might be used to send the output to an icecast server
via shout2send or similar.
The default value is 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=T
! queue ! webmmux'
recorder |
the CinnamonRecorder |
|
pipeline |
the GStreamer pipeline used to encode recordings
or |
[nullable] |
void cinnamon_recorder_set_draw_cursor (CinnamonRecorder *recorder
,gboolean draw_cursor
);
void cinnamon_recorder_set_area (CinnamonRecorder *recorder
,int x
,int y
,int width
,int height
);
gboolean cinnamon_recorder_record (CinnamonRecorder *recorder
,char **filename_used
);
Starts recording, Starting the recording may fail if the output file cannot be opened, or if the output stream cannot be created for other reasons. In that case a warning is printed to stderr. There is no way currently to get details on how recording failed to start.
An extra reference count is added to the recorder if recording is successfully started; the recording object will not be freed until recording is stopped even if the creator no longer holds a reference. Recording is automatically stopped if the stage is destroyed.
recorder |
the CinnamonRecorder |
|
filename_used |
actual filename used for recording. |
[out][optional] |
void
cinnamon_recorder_close (CinnamonRecorder *recorder
);
Stops recording. It's possible to call cinnamon_recorder_record()
again to reopen a new recording stream, but unless change the
recording filename, this may result in the old recording being
overwritten.
gboolean
cinnamon_recorder_is_recording (CinnamonRecorder *recorder
);
Determine if recording is currently in progress. (The recorder is not paused or closed.)
“display”
property “display” MetaDisplay *
Display to record.
Owner: CinnamonRecorder
Flags: Write
“draw-cursor”
property “draw-cursor” gboolean
Whether to record the cursor.
Owner: CinnamonRecorder
Flags: Read / Write
Default value: TRUE
“file-template”
property “file-template” char *
The filename template to use for output files.
Owner: CinnamonRecorder
Flags: Read / Write
Default value: NULL
“framerate”
property “framerate” int
Framerate used for resulting video in frames-per-second.
Owner: CinnamonRecorder
Flags: Read / Write
Allowed values: >= 0
Default value: 30
“pipeline”
property “pipeline” char *
GStreamer pipeline description to encode recordings.
Owner: CinnamonRecorder
Flags: Read / Write
Default value: NULL