Closed hardillb closed 6 years ago
Its probably a bug that ill take a look at tomorrow and get it fixed shortly.
You can take a stab at a fix if you want. There is only file to take a look at.. https://github.com/smasherprog/screen_capture_lite/blob/master/src/ios/CGFrameProcessor.cpp
Its probably line 26 that needs to be removed.
It looks a bit more subtle than just removing the test at line 26. It looks to fail freeing if I remove that line. I'll keep poking
Not feeling well today so ill have to tackle this tomorrow.. The solution has to be easy through.. within that file
starting my mac up now to check this out.
just committed to master a fix for the mac build.. Try it out
I've just tried it and I'm now I just get full frame images not the cropped section. If I put the following line into the example onNewFrame
lambda:
std::cout << Width(img) << "x" << Height(img) << std::endl;
I get 3360x2100
out not 512x512
I see your errors I am fixing them now. . . I dont work on mac much which is why this fell through
No problem, thanks for looking at this. Finding a cross platform library has made the task I had solve so much easier.
I think its fixed in master for the mac now... Please try it and let me know
Looks good, now to just work out why I can send 32k UDP packets from Linux but not from my Mac.
Thanks a lot for the help.
I'll probably stick in another pull request up update the .gitignore file so it doesn't moan about the cmake files and the built binaries.
Sure.. I put all of my cmake stuff in a folder called build which is ignored
OK, so it was so close. The width x height is looking good, but the offset doesn't seam to be being applied. So I'm always getting the top left hand corner.
This is for capturing of a monitor, not a window, correct?
can you post your CreateCaptureConfiguration section where you define the monitors/sections to gather?
Just in case you are using this for a window, I dont support partial capturing for windows.
This is for the whole monitor not a window. I'll post code in a min (need to boot the other machine)
framegrabber = SL::Screen_Capture::CreateCaptureConfiguration([args]() {
auto mons = SL::Screen_Capture::GetMonitors();
//TODO pick region
for (auto &m : mons) {
// // // capture just a 128x128 square... USERS SHOULD MAKE SURE bounds are
// // // valid!!!!
m.OffsetX += args->x;
m.OffsetY += args->y;
m.Height = args->height;
m.Width = args->width;
std::cout << m << std::endl;
}
return mons;
})
where args is
args->width = 128;
args->height = 128;
args->x = 128;
args->y = 128;
args->frames = 10;
args->mode = false;
args->broadcast =false;
args->port = 9100;
args->host = "127.0.0.1";
Ok ill take a look when I get home in a few hours.
I see the error in code.. It will take about an hour to fix
OK i committed code to master. Try that out and see how it works..
Looking better, it seams to be applying the x offset but not the y
Added the yoffset in master as well.
Didnt test this on my mac, but it should be correct. Just had to advance to the correct start row.
Thanks for your help with this btw. I only test on mac every once and a while so this really helps.
Looks good now. Thanks
cool
I'm trying to get capturing just a small area of the screen to work and I'm having some issues.
The example seams to have some code commented out that should do this but when I uncomment it I get an error at runtime.
I get this:
128x128 at 128x128 should be with in the bounds of the montior
I'm on Mac if it makes any difference.
Any suggestions as what I need to change?