summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/get_frame.c
AgeCommit message (Collapse)Author
2008-09-14src/*.[ch]: Rename files so that the name becomesenselic
rmd_some_file.[ch]. The exceptions are recordmydesktop.c which is the main file and skeleton.[ch] which are external files. src/Makefile.am: Adapt. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@546 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-14src/block_utils.censelic
src/cache_audio.c src/cache_frame.c src/capture_sound.c src/encode_cache.c src/encode_image_buffer.c src/encode_sound_buffer.c src/flush_to_ogg.c src/get_frame.c src/getzpixmap.c src/init_encoder.c src/initialize_data.c src/load_cache.c src/make_dummy_pointer.c src/opendev.c src/parseargs.c src/poll_events.c src/queryextensions.c src/recordmydesktop.c src/rectinsert.c src/register_callbacks.c src/rmd_cache.c src/rmd_error.c src/rmd_frame.c src/rmd_jack.c src/rmd_rescue.c src/rmd_timer.c src/rmdmacro.h src/rmdthreads.c src/rmdtypes.h src/setbrwindow.c src/shortcuts.c src/specsfile.c src/test-rectinsert-data.c src/test-rectinsert.c src/update_image.c src/wm_check.c src/yuv_utils.c: There is no need for us to test if config.h exists. It's our pacakge, we know it exists. Also make sure that each .c files includes config.h as the first include. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@544 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-14src/rmdtypes.h: Move out a lot of includes to the .c files that needs them. enselic
src/cache_audio.c src/cache_frame.c src/capture_sound.c src/encode_cache.c src/encode_sound_buffer.c src/flush_to_ogg.c src/get_frame.c src/getzpixmap.c src/init_encoder.c src/initialize_data.c src/load_cache.c src/queryextensions.c src/rmd_cache.c src/rmd_jack.c src/rmd_rescue.c src/rmd_timer.c src/rmdmacro.h src/rmdthreads.c src/update_image.c src/wm_check.c: Adapted. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@543 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-14src/rmdtypes.h: Made ProgData::capture_busy and encoder_busy booleans.enselic
src/get_frame.c src/initialize_data.c src/encode_image_buffer.c: Adapt. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@542 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-14src/recordmydesktop.h: Deleted. The last globals were migrated toenselic
ProgData. recordmydesktop.h should actually never exist (as long as rmd isn't e.g. a library) since recordmydesktop.c is the main() program and it would be weird if other modules had a dependeny to it. src/rmdtypes.h: Put the last globals in ProgData instead. src/Makefile.am src/cache_audio.c src/cache_frame.c src/capture_sound.c src/encode_cache.c src/encode_image_buffer.c src/encode_sound_buffer.c src/flush_to_ogg.c src/get_frame.c src/getzpixmap.c src/init_encoder.c src/initialize_data.c src/load_cache.c src/make_dummy_pointer.c src/parseargs.c src/queryextensions.c src/recordmydesktop.c src/register_callbacks.c src/rmd_cache.c src/rmd_jack.c src/rmd_rescue.c src/rmd_timer.c src/setbrwindow.c src/update_image.c src/wm_check.c: Adapted. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@541 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-14src/recordmydesktop.h: Move away the [yuv]blocks globals.enselic
src/yuv_utils.h: Move out the DBUF- and the MARK_BACK_BUFFER_C() macros. src/block_utils.[ch]: New files hosting the [yuv]blocks globals and DBUF-macros. src/get_frame.c: Put MARK_BACK_BUFFER_C() locally here. src/Makefile.am src/rmd_rescue.c src/cache_frame.c src/initialize_data.c: Adapt to changes. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@540 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-13include/rmdfunc.h: Removed and replaced with a header file for (almost) each ↵enselic
.c file. include/recordmydesktop.h include/Makefile.am: src/cache_audio.[ch] src/cache_frame.[ch] src/capture_sound.[ch] src/encode_cache.[ch] src/encode_image_buffer.[ch] src/encode_sound_buffer.[ch] src/flush_to_ogg.[ch] src/get_frame.[ch] src/getzpixmap.[ch] src/init_encoder.[ch] src/initialize_data.c src/load_cache.[ch] src/make_dummy_pointer.[ch] src/opendev.[ch] src/parseargs.c src/poll_events.[ch] src/queryextensions.[ch] src/recordmydesktop.c src/rectinsert.h src/rmd_cache.[ch] src/rmd_error.[ch] src/rmd_frame.[ch] src/rmd_jack.[ch] src/rmd_rescue.[ch] src/rmd_timer.[ch] src/rmdthreads.[ch] src/setbrwindow.[ch] src/shortcuts.[ch] src/specsfile.[ch] src/update_image.[ch] src/wm_check.[ch] src/Makefile.am: Changed acordingly and adjust includes in .c files. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@538 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-13include/rmdmacro.h: Move AVG_4_PIXELS(), CALC_TVAL_AVG_16(),enselic
CALC_TVAL_AVG_32() and CLEAR_FRAME() out of here. src/get_frame.c: Put AVG_4_PIXELS() here. src/yuv_utils.h: Put CALC_TVAL_AVG_16() and CALC_TVAL_AVG_32() here. src/load_cache.c: Expand CLEAR_FRAME() here. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@535 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-13include/recordmydesktop.h: Get rid of YUV data variables (which wereenselic
insanely *defined* in this header (like the other globals)). include/rmdmacro.h: Get rid of YUV utility macros. src/initialize_data.c: Get rid of MakeMatrices() and include the new yuv_utils.h. src/yuv_utils.[ch]: New files to host the YUV data variables and the MakeMatrices() function. The globals are now properly defined in the .c and exposed in the .h which also contains the YUV utility macros. src/get_frame.c src/update_image.c: Include the new yuv_utils.h src/Makefile.am: Added yuv_utils.[ch]. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@533 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-13include/rmdtypes.henselic
include/recordmydesktop.h: Continue the globals killing spree by putting pause_mutex and time_mutex in ProgData instead of having them as globals. src/get_frame.c src/rmd_timer.c src/cache_audio.c src/cache_frame.c src/capture_sound.c src/initialize_data.c src/encode_image_buffer.c src/encode_sound_buffer.c: Adapt. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@532 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-13include/recordmydesktop.h: Remove the globals Paused, Aborted andenselic
PauseStateChanged. include/rmdtypes.h: Add the previous globals as members in ProgData. src/rmd_jack.c src/get_frame.c src/rmd_timer.c src/rmd_rescue.c src/cache_audio.c src/cache_frame.c src/capture_sound.c src/initialize_data.c src/recordmydesktop.c src/register_callbacks.c src/encode_image_buffer.c src/encode_sound_buffer.c: Adapt. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@529 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-13src/rmd_jack.censelic
src/get_frame.c src/parseargs.c src/load_cache.c src/cache_frame.c src/flush_to_ogg.c src/init_encoder.c src/initialize_data.c src/register_callbacks.c: Make file-local functions static. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@520 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-12include/rmdfunc.henselic
src/rectinsert.c: Remove BlocksFromList() to get rid of dependencies. We now only depend on rmdtypes.h in rectinsert.c. src/get_frame.c: BlocksFromList() makes more sense to keep as a static function here. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@517 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-12Don't include config.h, recordmydesktop.h, rmdtypes.h, rmdfuncs.h orenselic
skeleton.h as system headers. include/rmdfunc.h include/rmdmacro.h include/rmdtypes.h include/recordmydesktop.h src/cleanup.c src/opendev.c src/rmd_jack.c src/wm_check.c src/get_frame.c src/parseargs.c src/rmd_cache.c src/rmd_error.c src/rmd_timer.c src/shortcuts.c src/specsfile.c src/getzpixmap.c src/load_cache.c src/rectinsert.c src/rmd_rescue.c src/rmdthreads.c src/cache_audio.c src/poll_events.c src/setbrwindow.c src/encode_cache.c src/flush_to_ogg.c src/init_encoder.c src/update_image.c src/capture_sound.c src/initialize_data.c src/queryextensions.c src/recordmydesktop.c src/make_dummy_pointer.c src/register_callbacks.c src/encode_image_buffer.c src/encode_sound_buffer.c: Changed. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@515 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-12Give rectinsert.c a header file and include this header file inenselic
RectInsert() clients. src/Makefile.am src/rectinsert.h: Added rectinsert.h. src/get_frame.c src/rectinsert.c src/poll_events.c: Include rectinsert.h include/rmdfunc.h: Removed RectInsert() declaration, it's in rectinsert.h now. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@512 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-09-11Started working towards a more clean include hierarchy andenselic
distinguishable program modules. First step: move stuff from global headers that is only used in one source file to those source files. include/rmdfunc.h include/rmdmacro.h include/rmdtypes.h: Move stuff from here src/rmd_jack.c src/get_frame.c src/rmd_cache.c src/load_cache.c src/rectinsert.c src/cache_frame.c src/poll_events.c src/setbrwindow.c src/recordmydesktop.c: To here. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@508 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-02-11added year 2008 in all copyright noticesiovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@494 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-02-11src/get_frame.c: added some commentsiovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@493 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2008-02-11src/get_frame.c: added calls to InitEventsPolling andiovar
EventLoop. Now damage events are received and processed synchronously, before each frame capture. src/initialize_data.c: removed initalization of some removed members (dual recy roots ahd their mutexes) src/poll_events.c: Broken previous/ thread/func (PollEvents) to InitEventsPolling and EventLoop, which are called from GetFrame. src/rmdthreads.c: removed initalization/end of poll_events thread, as well as hack with extra window, to end that thread. src/rmd_timer.c: time_cond is broadcasted ecery time now (nnedeed with new changes) git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@490 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-12-05src/get_frame.c: fix --no-shared pixmap memory allocationiovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@457 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-12-01include/rmdtypes.h: added the frame on the pdata struct.iovar
src/get_frame.c: select exposure events for the frame src/poll_events.c: redraw frame on exposure events git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@446 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-11-30doc/recordmydesktop.1: added documentation for --no-frameiovar
include/rmdfunc.h: added frame related function prototypes include/rmdmacro.h: default(off) for --no-frame include/rmdtypes.h: added --no-frame(noframe) in args src/rmd_frame.c: create and move around the frame src/Makefile.am: added rmd_frame.c src/parseargs.c: parse --no-frame src/queryextensions.c: check for XShape, too(implicit, non-fatal) src/rmd_frame.c: init, move and draw funcs for the frame. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@445 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-11-29Fix for #1837809. Don't check for pdata->avd, when there is no sound.iovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@440 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-08-07get_frame.c: added follow-mouse functionalityiovar
(added MoveCaptureArea function). git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@403 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-08-03get_frame.c: fix segmentation fault with x, y !=0 when using --full-shotsiovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@398 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-07-17get_frame.c: extra parameters pdata->brwind.rgeom.x andiovar
pdata->brwind.rgeom.y in BlocksFromList rectinsert.c: added x_offset, y_offset arguments in BlocksFromList to fix segfaults when recording an area instead of the whole desktop. initialize_data.c: initialize dummy_p_size on all cases git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@391 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-07-08get_frame.c: enabled dbuffering on full shots and fixed cursor issueiovar
on it. Uncommented glx code(preliminary-unsupported-unfunctional). It can be enabled with CFLAGS='-DUSE_GLX_CAP' and LDFLAGS='-lGL -lGLU ' . git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@368 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-06-11get_frame.c:trivial commit,moved a declaration on top of the block, with the ↵iovar
rest git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@351 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-06-10get_frame.c: removed some duplicated code, related to handlingiovar
the xfixes and dummy cursors. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@349 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-06-08get_frame.c: calculate x and y offset of the cursor so that it will appeariovar
correctly. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@346 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-06-08get_frame.c: free back_buffer shared pixmap when dbuff is enablediovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@343 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-05-24Restored --full-shots functionality by disabling double bufferingiovar
(since there will be some time before the feature is completed and meanwhile, it is better for CVS to be completely functional). get_frame.c:106 Change 0 to pdata->args.full_shots to reenable dbuffering git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@340 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-05-08removed a testing fprintfiovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@335 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-05-08added double buffering when capturing in full-shots.iovar
This way, only pixels that have changed are converted to yuv git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@333 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-05-03added xhot,yhot in xfixes cursor positioning.iovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@331 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-03-13fixed xdamage with xshm andiovar
removed anything related to conditional shared memory usage. Added GetZPixmapShm.Cleaned up pdata stuct from unneeded members. Removed argumednts related to conditional shared (--no-cond-shared, --shared threshold).Changed default for Shm and --with-shared is now --no-shared. Also, dummy cursor has been shaped up a bit. Version changed to 0.3.4-cvs. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@293 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-02-07Added support for recording audio through jack.iovar
libjack is dlopened so there's no runtime dependency on it. Ports must be connected at startup. New files: src/rmd_jack.c git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@273 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-01-29Fixed all condition variables, to be waited with correct mutexes.iovar
This fixed also the wakeup from pause bug. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@269 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-01-21changed formatting of the code, to never go beyond column 80iovar
(rule is purely for visual purposes, macro expansions are not taken into account). git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@262 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-01-21Added support for 16bpp color depth.iovar
Currently the UPDATE_*_PLANE(S)_* macros are duplicated, so they might need some reworking (they are perfectly functional though). git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@260 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2007-01-20Concatated all UPDATE_YUV_BUFFER_* macros into one, UPDATE_YUV_BUFFER.iovar
This one is further broken into UPDATE_(X)_PLANE(S)_(Y) macros, where X is Y or UV and Y is 32 or 16(color depth). This will allow easier incorporation of 16bpp support, without code duplication(where it can be avoided) and without bloating the toplevel calls of these macros with multiple similar blocks of code. Also changed toplevel check of depth, to allow running on 16 bpp git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@259 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-11-14got rid of all the casting madness, from the threads.iovar
(casting happens only during pthread_create now to avoid the warning) git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@164 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-10-01*** empty log message ***iovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@76 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-10-01major memory leakage fixediovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@75 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-09-28frame duplication instead of dropping soundiovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@72 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-09-28framedrop counteriovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@71 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-09-15v0.2.5, xfixes cursoriovar
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@47 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-08-13updated contact in license notice, added missing license notes,authors ↵biocrasher
contact updated git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@43 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-07-18window alignment 8pixels,32 bytes. Fixed messed up end-result.biocrasher
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@24 f606c939-3180-4ac9-a4b8-4b8779d57d0a
2006-07-17added pixel averaging optionbiocrasher
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@22 f606c939-3180-4ac9-a4b8-4b8779d57d0a
© All Rights Reserved