redo rotation fix. cameras have to be given the width and height that the camera will be sending. The monitor will report rotated dimensions.
This commit is contained in:
parent
85798932ee
commit
8c53925fdc
|
@ -306,12 +306,8 @@ Monitor::Monitor(
|
|||
server_id( p_server_id ),
|
||||
function( (Function)p_function ),
|
||||
enabled( p_enabled ),
|
||||
// When we instantiate the camera, the dimensions are rotated. So if we rotate them again here, we undo the rotation.
|
||||
// With this change, calls to Monitor->Width and Height will give the rotated dimesions.So this will trickle down
|
||||
width( p_camera->Width() ),
|
||||
height( p_camera->Height() ),
|
||||
//width( (p_orientation==ROTATE_90||p_orientation==ROTATE_270)?p_camera->Height():p_camera->Width() ),
|
||||
//height( (p_orientation==ROTATE_90||p_orientation==ROTATE_270)?p_camera->Width():p_camera->Height() ),
|
||||
orientation( (Orientation)p_orientation ),
|
||||
deinterlacing( p_deinterlacing ),
|
||||
label_coord( p_label_coord ),
|
||||
|
@ -2150,9 +2146,6 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
col++;
|
||||
bool embed_exif = (*dbrow[col] != '0'); col++;
|
||||
|
||||
int cam_width = ((orientation==ROTATE_90||orientation==ROTATE_270)?height:width);
|
||||
int cam_height = ((orientation==ROTATE_90||orientation==ROTATE_270)?width:height);
|
||||
|
||||
int extras = (deinterlacing>>24)&0xff;
|
||||
|
||||
Camera *camera = new LocalCamera(
|
||||
|
@ -2163,8 +2156,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
v4l_multi_buffer,
|
||||
v4l_captures_per_frame,
|
||||
method,
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
palette,
|
||||
brightness,
|
||||
|
@ -2306,9 +2299,6 @@ int Monitor::LoadRemoteMonitors( const char *protocol, const char *host, const c
|
|||
int track_motion = atoi(dbrow[col]); col++;
|
||||
bool embed_exif = (*dbrow[col] != '0'); col++;
|
||||
|
||||
int cam_width = ((orientation==ROTATE_90||orientation==ROTATE_270)?height:width);
|
||||
int cam_height = ((orientation==ROTATE_90||orientation==ROTATE_270)?width:height);
|
||||
|
||||
Camera *camera = 0;
|
||||
if ( protocol == "http" )
|
||||
{
|
||||
|
@ -2318,8 +2308,8 @@ int Monitor::LoadRemoteMonitors( const char *protocol, const char *host, const c
|
|||
host, // Host
|
||||
port, // Port
|
||||
path, // Path
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2337,8 +2327,8 @@ int Monitor::LoadRemoteMonitors( const char *protocol, const char *host, const c
|
|||
host, // Host
|
||||
port, // Port
|
||||
path, // Path
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
rtsp_describe,
|
||||
colours,
|
||||
brightness,
|
||||
|
@ -2481,14 +2471,11 @@ int Monitor::LoadFileMonitors( const char *file, Monitor **&monitors, Purpose pu
|
|||
int track_motion = atoi(dbrow[col]); col++;
|
||||
bool embed_exif = (*dbrow[col] != '0'); col++;
|
||||
|
||||
int cam_width = ((orientation==ROTATE_90||orientation==ROTATE_270)?height:width);
|
||||
int cam_height = ((orientation==ROTATE_90||orientation==ROTATE_270)?width:height);
|
||||
|
||||
Camera *camera = new FileCamera(
|
||||
id,
|
||||
path, // File
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2626,16 +2613,13 @@ int Monitor::LoadFfmpegMonitors( const char *file, Monitor **&monitors, Purpose
|
|||
int track_motion = atoi(dbrow[col]); col++;
|
||||
bool embed_exif = (*dbrow[col] != '0'); col++;
|
||||
|
||||
int cam_width = ((orientation==ROTATE_90||orientation==ROTATE_270)?height:width);
|
||||
int cam_height = ((orientation==ROTATE_90||orientation==ROTATE_270)?width:height);
|
||||
|
||||
Camera *camera = new FfmpegCamera(
|
||||
id,
|
||||
path, // File
|
||||
method,
|
||||
options,
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2796,9 +2780,6 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
col++;
|
||||
bool embed_exif = (*dbrow[col] != '0'); col++;
|
||||
|
||||
int cam_width = ((orientation==ROTATE_90||orientation==ROTATE_270)?height:width);
|
||||
int cam_height = ((orientation==ROTATE_90||orientation==ROTATE_270)?width:height);
|
||||
|
||||
int extras = (deinterlacing>>24)&0xff;
|
||||
|
||||
Camera *camera = 0;
|
||||
|
@ -2813,8 +2794,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
v4l_multi_buffer,
|
||||
v4l_captures_per_frame,
|
||||
method,
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
palette,
|
||||
brightness,
|
||||
|
@ -2838,8 +2819,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
host.c_str(),
|
||||
port.c_str(),
|
||||
path.c_str(),
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2857,8 +2838,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
host.c_str(),
|
||||
port.c_str(),
|
||||
path.c_str(),
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
rtsp_describe,
|
||||
colours,
|
||||
brightness,
|
||||
|
@ -2881,8 +2862,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
camera = new FileCamera(
|
||||
id,
|
||||
path.c_str(),
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2899,8 +2880,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
path.c_str(),
|
||||
method,
|
||||
options,
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2920,8 +2901,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
path.c_str(),
|
||||
method,
|
||||
options,
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
@ -2941,8 +2922,8 @@ Debug( 1, "Got %d for v4l_captures_per_frame", v4l_captures_per_frame );
|
|||
path.c_str(),
|
||||
user.c_str(),
|
||||
pass.c_str(),
|
||||
cam_width,
|
||||
cam_height,
|
||||
width,
|
||||
height,
|
||||
colours,
|
||||
brightness,
|
||||
contrast,
|
||||
|
|
|
@ -358,8 +358,8 @@ public:
|
|||
return( embed_exif );
|
||||
}
|
||||
|
||||
unsigned int Width() const { return( width ); }
|
||||
unsigned int Height() const { return( height ); }
|
||||
unsigned int Width() const { return( (p_orientation==ROTATE_90||p_orientation==ROTATE_270)?p_camera->Height():p_camera->Width() ); }
|
||||
unsigned int Height() const { return( (p_orientation==ROTATE_90||p_orientation==ROTATE_270)?p_camera->Width():p_camera->Height() ); }
|
||||
unsigned int Colours() const { return( camera->Colours() ); }
|
||||
unsigned int SubpixelOrder() const { return( camera->SubpixelOrder() ); }
|
||||
|
||||
|
|
Loading…
Reference in New Issue