Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
5c2e0e41
Commit
5c2e0e41
authored
Jul 08, 2019
by
Thilo Borgmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lavd/avfoundation: Reindent after last commit.
parent
02f65678
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
54 deletions
+54
-54
avfoundation.m
libavdevice/avfoundation.m
+54
-54
No files found.
libavdevice/avfoundation.m
View file @
5c2e0e41
...
...
@@ -297,59 +297,59 @@ static int configure_video_device(AVFormatContext *s, AVCaptureDevice *video_dev
// might raise an exception if no format list is given
// (then fallback to default, no configuration)
@try
{
for
(
format
in
[
video_device
valueForKey
:
@"formats"
])
{
CMFormatDescriptionRef
formatDescription
;
CMVideoDimensions
dimensions
;
for
(
format
in
[
video_device
valueForKey
:
@"formats"
])
{
CMFormatDescriptionRef
formatDescription
;
CMVideoDimensions
dimensions
;
formatDescription
=
(
CMFormatDescriptionRef
)
[
format
performSelector
:
@selector
(
formatDescription
)];
dimensions
=
CMVideoFormatDescriptionGetDimensions
(
formatDescription
);
formatDescription
=
(
CMFormatDescriptionRef
)
[
format
performSelector
:
@selector
(
formatDescription
)];
dimensions
=
CMVideoFormatDescriptionGetDimensions
(
formatDescription
);
if
((
ctx
->
width
==
0
&&
ctx
->
height
==
0
)
||
(
dimensions
.
width
==
ctx
->
width
&&
dimensions
.
height
==
ctx
->
height
))
{
if
((
ctx
->
width
==
0
&&
ctx
->
height
==
0
)
||
(
dimensions
.
width
==
ctx
->
width
&&
dimensions
.
height
==
ctx
->
height
))
{
selected_format
=
format
;
selected_format
=
format
;
for
(
range
in
[
format
valueForKey
:
@"videoSupportedFrameRateRanges"
])
{
double
max_framerate
;
for
(
range
in
[
format
valueForKey
:
@"videoSupportedFrameRateRanges"
])
{
double
max_framerate
;
[[
range
valueForKey
:
@"maxFrameRate"
]
getValue
:
&
max_framerate
];
if
(
fabs
(
framerate
-
max_framerate
)
<
0
.
01
)
{
selected_range
=
range
;
break
;
[[
range
valueForKey
:
@"maxFrameRate"
]
getValue
:
&
max_framerate
];
if
(
fabs
(
framerate
-
max_framerate
)
<
0
.
01
)
{
selected_range
=
range
;
break
;
}
}
}
}
}
if
(
!
selected_format
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Selected video size (%dx%d) is not supported by the device.
\n
"
,
ctx
->
width
,
ctx
->
height
);
goto
unsupported_format
;
}
if
(
!
selected_range
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Selected framerate (%f) is not supported by the device.
\n
"
,
framerate
);
if
(
ctx
->
video_is_muxed
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Falling back to default.
\n
"
);
}
else
{
goto
unsupported_format
;
if
(
!
selected_format
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Selected video size (%dx%d) is not supported by the device.
\n
"
,
ctx
->
width
,
ctx
->
height
);
goto
unsupported_format
;
}
}
if
([
video_device
lockForConfiguration
:
NULL
]
==
YES
)
{
if
(
selected_format
)
{
[
video_device
setValue
:
selected_format
forKey
:
@"activeFormat"
];
if
(
!
selected_range
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Selected framerate (%f) is not supported by the device.
\n
"
,
framerate
);
if
(
ctx
->
video_is_muxed
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Falling back to default.
\n
"
);
}
else
{
goto
unsupported_format
;
}
}
if
(
selected_range
)
{
NSValue
*
min_frame_duration
=
[
selected_range
valueForKey
:
@"minFrameDuration"
];
[
video_device
setValue
:
min_frame_duration
forKey
:
@"activeVideoMinFrameDuration"
];
[
video_device
setValue
:
min_frame_duration
forKey
:
@"activeVideoMaxFrameDuration"
];
if
([
video_device
lockForConfiguration
:
NULL
]
==
YES
)
{
if
(
selected_format
)
{
[
video_device
setValue
:
selected_format
forKey
:
@"activeFormat"
];
}
if
(
selected_range
)
{
NSValue
*
min_frame_duration
=
[
selected_range
valueForKey
:
@"minFrameDuration"
];
[
video_device
setValue
:
min_frame_duration
forKey
:
@"activeVideoMinFrameDuration"
];
[
video_device
setValue
:
min_frame_duration
forKey
:
@"activeVideoMaxFrameDuration"
];
}
}
else
{
av_log
(
s
,
AV_LOG_ERROR
,
"Could not lock device for configuration.
\n
"
);
return
AVERROR
(
EINVAL
);
}
}
else
{
av_log
(
s
,
AV_LOG_ERROR
,
"Could not lock device for configuration.
\n
"
);
return
AVERROR
(
EINVAL
);
}
}
@catch
(
NSException
*
e
)
{
av_log
(
ctx
,
AV_LOG_WARNING
,
"Configuration of video device failed, falling back to default.
\n
"
);
}
...
...
@@ -486,15 +486,15 @@ static int add_video_device(AVFormatContext *s, AVCaptureDevice *video_device)
// set videoSettings to an empty dict for receiving raw data of muxed devices
if
(
ctx
->
capture_raw_data
)
{
ctx
->
pixel_format
=
pxl_fmt_spec
.
ff_id
;
ctx
->
video_output
.
videoSettings
=
@{
};
ctx
->
pixel_format
=
pxl_fmt_spec
.
ff_id
;
ctx
->
video_output
.
videoSettings
=
@{
};
}
else
{
ctx
->
pixel_format
=
pxl_fmt_spec
.
ff_id
;
pixel_format
=
[
NSNumber
numberWithUnsignedInt
:
pxl_fmt_spec
.
avf_id
];
capture_dict
=
[
NSDictionary
dictionaryWithObject
:
pixel_format
forKey
:(
id
)
kCVPixelBufferPixelFormatTypeKey
];
ctx
->
pixel_format
=
pxl_fmt_spec
.
ff_id
;
pixel_format
=
[
NSNumber
numberWithUnsignedInt
:
pxl_fmt_spec
.
avf_id
];
capture_dict
=
[
NSDictionary
dictionaryWithObject
:
pixel_format
forKey
:(
id
)
kCVPixelBufferPixelFormatTypeKey
];
[
ctx
->
video_output
setVideoSettings
:
capture_dict
];
[
ctx
->
video_output
setVideoSettings
:
capture_dict
];
}
[
ctx
->
video_output
setAlwaysDiscardsLateVideoFrames
:
YES
];
...
...
@@ -587,11 +587,11 @@ static int get_video_config(AVFormatContext *s)
if
(
image_buffer
)
{
image_buffer_size
=
CVImageBufferGetEncodedSize
(
image_buffer
);
stream
->
codecpar
->
codec_id
=
AV_CODEC_ID_RAWVIDEO
;
stream
->
codecpar
->
codec_type
=
AVMEDIA_TYPE_VIDEO
;
stream
->
codecpar
->
width
=
(
int
)
image_buffer_size
.
width
;
stream
->
codecpar
->
height
=
(
int
)
image_buffer_size
.
height
;
stream
->
codecpar
->
format
=
ctx
->
pixel_format
;
stream
->
codecpar
->
codec_id
=
AV_CODEC_ID_RAWVIDEO
;
stream
->
codecpar
->
codec_type
=
AVMEDIA_TYPE_VIDEO
;
stream
->
codecpar
->
width
=
(
int
)
image_buffer_size
.
width
;
stream
->
codecpar
->
height
=
(
int
)
image_buffer_size
.
height
;
stream
->
codecpar
->
format
=
ctx
->
pixel_format
;
}
else
{
stream
->
codecpar
->
codec_id
=
AV_CODEC_ID_DVVIDEO
;
stream
->
codecpar
->
codec_type
=
AVMEDIA_TYPE_VIDEO
;
...
...
@@ -762,7 +762,7 @@ static int avf_read_header(AVFormatContext *s)
if
(
ctx
->
video_device_index
>=
0
)
{
if
(
ctx
->
video_device_index
<
ctx
->
num_video_devices
)
{
if
(
ctx
->
video_device_index
<
[
devices
count
])
{
video_device
=
[
devices
objectAtIndex
:
ctx
->
video_device_index
];
video_device
=
[
devices
objectAtIndex
:
ctx
->
video_device_index
];
}
else
{
video_device
=
[
devices_muxed
objectAtIndex
:(
ctx
->
video_device_index
-
[
devices
count
])];
ctx
->
video_is_muxed
=
1
;
...
...
@@ -1025,7 +1025,7 @@ static int avf_read_packet(AVFormatContext *s, AVPacket *pkt)
pkt
->
flags
|=
AV_PKT_FLAG_KEY
;
if
(
image_buffer
)
{
status
=
copy_cvpixelbuffer
(
s
,
image_buffer
,
pkt
);
status
=
copy_cvpixelbuffer
(
s
,
image_buffer
,
pkt
);
}
else
{
status
=
0
;
OSStatus
ret
=
CMBlockBufferCopyDataBytes
(
block_buffer
,
0
,
pkt
->
size
,
pkt
->
data
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment