Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
libdvdnav
Manage
Activity
Members
Labels
Plan
Issues
10
Issue boards
Milestones
Code
Merge requests
10
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
VideoLAN
libdvdnav
Compare revisions
4a529d1f2586dbd157b15d24ddc3f7264093a4e3 to de34b412ca0c040bac78cfd3448c99c9257b7422
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
videolan/libdvdnav
Select target project
No results found
de34b412ca0c040bac78cfd3448c99c9257b7422
Select Git revision
Branches
buildsystem-cleanup
master
Tags
5.0.0
5.0.1
5.0.2
5.0.3
6.0.0
6.0.1
6.1.0
6.1.1
Swap
Target
videolan/libdvdnav
Select target project
videolan/libdvdnav
thresh/libdvdnav
robUx4/libdvdnav
jsgh/libdvdnav
chouquette/libdvdnav
jbk/libdvdnav
martymac/libdvdnav
Mathias_Couder/libdvdnav
DimitriPapadopoulos/libdvdnav
hpi/libdvdnav
miguelborgesdefreitas/libdvdnav
dmahurin/libdvdnav
ATinySpaceMarine/libdvdnav
masstock/libdvdnav
14 results
4a529d1f2586dbd157b15d24ddc3f7264093a4e3
Select Git revision
Branches
buildsystem-cleanup
master
Tags
5.0.0
5.0.1
5.0.2
5.0.3
6.0.0
6.0.1
6.1.0
6.1.1
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (2)
navigation: refactor getting title properties
· 4386224a
François Cartegnie
authored
4 years ago
4386224a
add dvdnav_get_number_of_angles
· de34b412
François Cartegnie
authored
4 years ago
de34b412
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/dvdnav/dvdnav.h
+5
-0
5 additions, 0 deletions
src/dvdnav/dvdnav.h
src/navigation.c
+30
-11
30 additions, 11 deletions
src/navigation.c
with
35 additions
and
11 deletions
src/dvdnav/dvdnav.h
View file @
de34b412
...
...
@@ -271,6 +271,11 @@ dvdnav_status_t dvdnav_get_number_of_titles(dvdnav_t *self, int32_t *titles);
*/
dvdnav_status_t
dvdnav_get_number_of_parts
(
dvdnav_t
*
self
,
int32_t
title
,
int32_t
*
parts
);
/*
* Returns the number of angles for the given title.
*/
dvdnav_status_t
dvdnav_get_number_of_angles
(
dvdnav_t
*
self
,
int32_t
title
,
int32_t
*
angles
);
/*
* Plays the specified title of the DVD from its beginning (that is: part 1).
*/
...
...
This diff is collapsed.
Click to expand it.
src/navigation.c
View file @
de34b412
...
...
@@ -64,19 +64,38 @@ dvdnav_status_t dvdnav_get_number_of_titles(dvdnav_t *this, int32_t *titles) {
return
DVDNAV_STATUS_OK
;
}
dvdnav_status_t
dvdnav_get_number_of_parts
(
dvdnav_t
*
this
,
int32_t
title
,
int32_t
*
parts
)
{
if
(
!
this
->
vm
->
vmgi
)
{
printerr
(
"Bad VM state."
);
return
DVDNAV_STATUS_ERR
;
}
if
((
title
<
1
)
||
(
title
>
vm_get_vmgi
(
this
->
vm
)
->
tt_srpt
->
nr_of_srpts
)
)
{
printerr
(
"Passed a title number out of range."
);
return
DVDNAV_STATUS_ERR
;
}
static
dvdnav_status_t
get_title_by_number
(
dvdnav_t
*
this
,
int32_t
title
,
title_info_t
**
pp_title
)
{
int32_t
titlescount
;
dvdnav_status_t
status
=
dvdnav_get_number_of_titles
(
this
,
&
titlescount
);
if
(
status
==
DVDNAV_STATUS_OK
)
{
if
((
title
<
1
)
||
(
title
>
titlescount
))
{
printerr
(
"Passed a title number out of range."
);
status
=
DVDNAV_STATUS_ERR
;
}
else
{
*
pp_title
=
&
vm_get_vmgi
(
this
->
vm
)
->
tt_srpt
->
title
[
title
-
1
];
}
}
return
status
;
}
(
*
parts
)
=
vm_get_vmgi
(
this
->
vm
)
->
tt_srpt
->
title
[
title
-
1
].
nr_of_ptts
;
dvdnav_status_t
dvdnav_get_number_of_parts
(
dvdnav_t
*
this
,
int32_t
title
,
int32_t
*
parts
)
{
title_info_t
*
info
;
dvdnav_status_t
status
=
get_title_by_number
(
this
,
title
,
&
info
);
if
(
status
==
DVDNAV_STATUS_OK
)
(
*
parts
)
=
info
->
nr_of_ptts
;
return
status
;
}
return
DVDNAV_STATUS_OK
;
dvdnav_status_t
dvdnav_get_number_of_angles
(
dvdnav_t
*
this
,
int32_t
title
,
int32_t
*
angles
)
{
title_info_t
*
info
;
dvdnav_status_t
status
=
get_title_by_number
(
this
,
title
,
&
info
);
if
(
status
==
DVDNAV_STATUS_OK
)
(
*
angles
)
=
info
->
nr_of_angles
;
return
status
;
}
dvdnav_status_t
dvdnav_current_title_info
(
dvdnav_t
*
this
,
int32_t
*
title
,
int32_t
*
part
)
{
...
...
This diff is collapsed.
Click to expand it.