forked from videolan/vlc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Sigmund Augdal Helberg
committed
Aug 18, 2002
1 parent
a580ac7
commit 894c4ad
Showing
2 changed files
with
71 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* control the pace of reading. | ||
***************************************************************************** | ||
* Copyright (C) 1999, 2000 VideoLAN | ||
* $Id: input_ext-intf.h,v 1.76 2002/08/12 22:12:50 massiot Exp $ | ||
* $Id: input_ext-intf.h,v 1.77 2002/08/18 13:16:51 sigmunau Exp $ | ||
* | ||
* Authors: Christophe Massiot <[email protected]> | ||
* | ||
|
@@ -151,28 +151,53 @@ struct input_area_t | |
off_t i_plugin_data; | ||
}; | ||
|
||
/***************************************************************************** | ||
* input_info_t | ||
***************************************************************************** | ||
/** | ||
* \brief A list of info items. | ||
* | ||
* Composes a linked list of name/value pairs intended to inform the | ||
* user about the current stream | ||
*****************************************************************************/ | ||
* \see input_AddInfo | ||
*/ | ||
struct input_info_t { | ||
char * psz_name; | ||
char * psz_value; | ||
input_info_t * p_next; | ||
/** | ||
* Name of this item | ||
*/ | ||
char * psz_name; | ||
|
||
/** | ||
* Value of this item | ||
*/ | ||
char * psz_value; | ||
|
||
/** | ||
* Pointer to next item in list, or NULL it at end of list | ||
*/ | ||
input_info_t * p_next; | ||
}; | ||
|
||
/***************************************************************************** | ||
* input_info_category_t | ||
***************************************************************************** | ||
* Composes a linked list of categories in which to place info about | ||
* the stream. | ||
*****************************************************************************/ | ||
/** | ||
* \brief A list of info categories. | ||
* | ||
* Composes a NULL terminated linked list of categories in which to | ||
* place info about the stream. | ||
* | ||
* \see input_InfoCategory | ||
*/ | ||
struct input_info_category_t { | ||
char * psz_name; | ||
input_info_t * p_info; | ||
input_info_category_t * p_next; | ||
/** | ||
* The name of this category | ||
*/ | ||
char * psz_name; | ||
|
||
/** | ||
* first element of a linked list containing info items | ||
*/ | ||
input_info_t * p_info; | ||
|
||
/** | ||
* Pointer to next element in this list, or NULL if at end of list | ||
*/ | ||
input_info_category_t * p_next; | ||
}; | ||
|
||
/***************************************************************************** | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
* input_info.c: Convenient functions to handle the input info structures | ||
***************************************************************************** | ||
* Copyright (C) 1998-2001 VideoLAN | ||
* $Id: input_info.c,v 1.4 2002/07/25 21:53:53 sigmunau Exp $ | ||
* $Id: input_info.c,v 1.5 2002/08/18 13:16:51 sigmunau Exp $ | ||
* | ||
* Authors: Sigmund Augdal <[email protected]> | ||
* | ||
|
@@ -36,12 +36,22 @@ | |
#include "input_ext-intf.h" | ||
#include "interface.h" | ||
|
||
input_info_category_t * input_InfoCategory( input_thread_t * p_this, | ||
/** | ||
* \brief Find info category by name. | ||
* | ||
* Returns a pointer to the info category with the given name, and | ||
* creates it if necessary | ||
* | ||
* \param p_input pointer to the input thread in which the info is to be found | ||
* \param psz_name the name of the category to be found | ||
* \returns a pointer to the category with the given name | ||
*/ | ||
input_info_category_t * input_InfoCategory( input_thread_t * p_input, | ||
char * psz_name) | ||
{ | ||
input_info_category_t * p_category, * p_prev; | ||
p_prev = NULL; | ||
for ( p_category = p_this->stream.p_info; | ||
for ( p_category = p_input->stream.p_info; | ||
(p_category != NULL) && strcmp( p_category->psz_name, psz_name ); | ||
p_category = p_category->p_next) | ||
{ | ||
|
@@ -56,7 +66,7 @@ input_info_category_t * input_InfoCategory( input_thread_t * p_this, | |
p_category = malloc( sizeof( input_info_category_t ) ); | ||
if ( !p_category ) | ||
{ | ||
msg_Err( p_this, "No mem" ); | ||
msg_Err( p_input, "No mem" ); | ||
return 0; | ||
} | ||
p_category->psz_name = strdup( psz_name ); | ||
|
@@ -67,6 +77,14 @@ input_info_category_t * input_InfoCategory( input_thread_t * p_this, | |
} | ||
} | ||
|
||
/** | ||
* \brief Add a info item to a category | ||
* | ||
* \param p_category Pointer to the category to put this info in | ||
* \param psz_name Name of the info item to add | ||
* \param psz_format printf style format string for the value. | ||
* \return a negative number on error. 0 on success. | ||
*/ | ||
int input_AddInfo( input_info_category_t * p_category, char * psz_name, | ||
char * psz_format, ...) | ||
{ | ||
|
@@ -123,6 +141,13 @@ int input_AddInfo( input_info_category_t * p_category, char * psz_name, | |
return 0; | ||
} | ||
|
||
/** | ||
* \brief Destroy info structures | ||
* \internal | ||
* | ||
* \param p_input The input thread to be cleaned for info | ||
* \returns for the moment 0 | ||
*/ | ||
int input_DelInfo( input_thread_t * p_input ) | ||
{ | ||
input_info_category_t * p_category, * p_prev_category; | ||
|