Commit Graph

2558 Commits

Author SHA1 Message Date
Michael Jumper
be0a9e728f GUAC-236: Implement JPEG. 2016-03-14 20:22:03 -07:00
Michael Jumper
c16832f11a GUAC-236: Fix manual section number. 2016-03-14 20:22:03 -07:00
Michael Jumper
e298975918 GUAC-236: Document usage. Use correct extension (.m4v). 2016-03-14 20:22:03 -07:00
Michael Jumper
e74ea54eb9 GUAC-236: Add FILE to usage descriptions. 2016-03-14 20:22:03 -07:00
Michael Jumper
710edc03ff GUAC-236: Simplify command-line options, restricting to known-good combination. Can add other formats as possible later. 2016-03-14 20:22:03 -07:00
Michael Jumper
ecf3a0302a GUAC-236: There actually isn't a -f option. 2016-03-14 20:22:03 -07:00
Michael Jumper
2f93e6ce67 GUAC-236: Output sensible messages at sensible times. 2016-03-14 20:22:03 -07:00
Michael Jumper
c4f7bae10b GUAC-236: Do not create output file until after everything has been validated. 2016-03-14 20:22:03 -07:00
Michael Jumper
3d67598ec9 GUAC-236: Parse command-line arguments. 2016-03-14 20:22:03 -07:00
Michael Jumper
59844d8e59 GUAC-236: Reset log level back to INFO. Define default elsewhere. 2016-03-14 20:22:03 -07:00
Michael Jumper
7575506443 GUAC-236: Add missing comment for use of sws_scale(). 2016-03-14 20:22:03 -07:00
Michael Jumper
cb1d5e03b5 GUAC-236: Increase default bitrate. 2016-03-14 20:22:03 -07:00
Michael Jumper
0f467a5d51 GUAC-236: Convert each Guacamole frame to a proper AVFrame. 2016-03-14 20:22:03 -07:00
Michael Jumper
96b3dd4e7c GUAC-236: Add libswscale to build. 2016-03-14 20:22:03 -07:00
Michael Jumper
f9f08627ff GUAC-286: Actually write video output to file. 2016-03-14 20:22:03 -07:00
Michael Jumper
1ce39306cb GUAC-236: Do not store buffer - encode directly. Flush frames at end. 2016-03-14 20:22:03 -07:00
Michael Jumper
1a3e1465fa GUAC-236: Pass encoding parameters from root level of utility. Declare defaults in header. 2016-03-14 20:22:03 -07:00
Michael Jumper
c37eda37fd GUAC-236: Define framerate with macro. 2016-03-14 20:22:03 -07:00
Michael Jumper
38c431e8a2 GUAC-236: Record internal presentation timestamp in same format as libavcodec. 2016-03-14 20:22:03 -07:00
Michael Jumper
9eddaeee3d GUAC-236: Allocate and maintain frame data for encoding. 2016-03-14 20:22:03 -07:00
Michael Jumper
9a5b503da5 GUAC-236: Add libavutil to build. 2016-03-14 20:22:03 -07:00
Michael Jumper
17df235c4e GUAC-236: Actually open and init codec. Replace PNG output with stub. 2016-03-14 20:22:03 -07:00
Michael Jumper
a8cba53537 GUAC-236: Perform codec lookup via libavcodec. 2016-03-14 20:22:03 -07:00
Michael Jumper
d94915c515 GUAC-236: Ensure display allocation can handle video preparation failures. 2016-03-14 20:22:03 -07:00
Michael Jumper
19ac6e8286 GUAC-236: Abstract video encoding process as guacenc_video struct. Move PNG-writing stub therein. 2016-03-14 20:22:03 -07:00
Michael Jumper
09a4f4da39 GUAC-236: Add libavcodec to guacenc build. Conditionally compile guacenc and guacd. 2016-03-14 20:22:03 -07:00
Michael Jumper
0676a7a51c GUAC-236: Add missing LDFLAGS for guacenc. 2016-03-14 20:22:03 -07:00
Michael Jumper
6fc208554d GUAC-236: Add session recording parameters to VNC, RDP, and SSH. 2016-03-14 20:22:02 -07:00
Michael Jumper
a3fef4c1fc GUAC-236: Add common functions for creating client-level session recordings (Guacamole protocol dumps). 2016-03-14 20:22:02 -07:00
Michael Jumper
dc2feba72c GUAC-236: Add guac_socket_tee() function which allocates a socket that delegates all operations to a primary socket while duplicating write operations to a secondary socket. 2016-03-14 20:22:02 -07:00
Michael Jumper
bd5bd29ec0 GUAC-236: Ensure client socket is always freed. 2016-03-14 20:22:02 -07:00
Michael Jumper
a5ec24c17b GUAC-236: Fix buffer resize (contents were being cleared). 2016-03-14 20:22:02 -07:00
Michael Jumper
3a972d4845 GUAC-236: Use temporary surface if source rect might intersect dest rect. 2016-03-14 20:22:02 -07:00
Michael Jumper
21c568c0b4 GUAC-236: Implement WebP decoding. 2016-03-14 20:22:02 -07:00
Michael Jumper
960ee263e8 GUAC-236: Split massive display code into more reasonable files. 2016-03-14 20:22:02 -07:00
Michael Jumper
a24152df02 GUAC-236: Flatten and render all layers upon sync. 2016-03-14 20:22:02 -07:00
Michael Jumper
79181567e5 GUAC-236: Store and preseve frame buffer within each layer. 2016-03-14 20:22:02 -07:00
Michael Jumper
80b3d51a49 GUAC-236: Add function for copying buffer state. 2016-03-14 20:22:02 -07:00
Michael Jumper
1d4e6ce924 GUAC-236: Fix comparator. Sort in descending order of depth. 2016-03-14 20:22:02 -07:00
Michael Jumper
2e93499383 GUAC-236: Render layers in order (position not yet correct). Output as PNG frames for verification. 2016-03-14 20:22:02 -07:00
Michael Jumper
19814a4c8a GUAC-236: Layers should be parented to default layer by default. 2016-03-14 20:22:02 -07:00
Michael Jumper
e3d0c5e5ef GUAC-236: Do not resize buffers if unnecessary. 2016-03-14 20:22:02 -07:00
Michael Jumper
ba9c1a2efd GUAC-236: Ensure buffers are resized to fit draw operations (unless they are within layers). 2016-03-14 20:22:02 -07:00
Michael Jumper
83beccf7e4 GUAC-236: Ensure rectangle is explicitly set when painting buffers. 2016-03-14 20:22:02 -07:00
Michael Jumper
bd84315824 GUAC-236: Implement PNG decoding using Cairo's built-in PNG functions. 2016-03-14 20:22:02 -07:00
Michael Jumper
a15a86ed00 GUAC-236: Assemble entire image data prior to decoding. Switch to simple decoder function (no struct). 2016-03-14 20:22:02 -07:00
Michael Jumper
3661cadf4e GUAC-236: Implement blob, end, and img instructions. 2016-03-14 20:22:02 -07:00
Michael Jumper
d29d5bbc99 GUAC-236: Add helper functions for invoking stream data/end handlers. 2016-03-14 20:22:02 -07:00
Michael Jumper
f535ccfb54 GUAC-236: Invoke init/free handlers as required. 2016-03-14 20:22:02 -07:00
Michael Jumper
578bedcd07 GUAC-236: Add image stream allocation and management functions. 2016-03-14 20:22:02 -07:00