aboutsummaryrefslogtreecommitdiffstats
path: root/stream/vlc-patches/vlc-git-sesse.patch
diff options
context:
space:
mode:
Diffstat (limited to 'stream/vlc-patches/vlc-git-sesse.patch')
-rw-r--r--stream/vlc-patches/vlc-git-sesse.patch131
1 files changed, 0 insertions, 131 deletions
diff --git a/stream/vlc-patches/vlc-git-sesse.patch b/stream/vlc-patches/vlc-git-sesse.patch
deleted file mode 100644
index a38b378..0000000
--- a/stream/vlc-patches/vlc-git-sesse.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-diff --git a/modules/access_output/http.c b/modules/access_output/http.c
-index 61095f5..18ffc9a 100644
---- a/modules/access_output/http.c
-+++ b/modules/access_output/http.c
-@@ -72,9 +72,17 @@ vlc_module_begin ()
- PASS_TEXT, PASS_LONGTEXT, true )
- add_string( SOUT_CFG_PREFIX "mime", "",
- MIME_TEXT, MIME_LONGTEXT, true )
-+ add_integer( SOUT_CFG_PREFIX "mark-start", "",
-+ "lol", "Fancy option", -1 )
-+ add_integer( SOUT_CFG_PREFIX "mark-end", "",
-+ "rotfl", "Should maybe also be set", -1 )
- set_callbacks( Open, Close )
- vlc_module_end ()
-
-+// globals
-+extern vlc_mutex_t mark_lock;
-+extern int *mark_used;
-+extern int mark_start, mark_end;
-
- /*****************************************************************************
- * Exported prototypes
-@@ -178,6 +186,21 @@ static int Open( vlc_object_t *p_this )
- return VLC_EGENERIC;
- }
-
-+ fprintf(stderr, "tjobing\n");
-+ if (mark_used == NULL) {
-+ mark_start = var_InheritInteger( p_access, SOUT_CFG_PREFIX "mark-start");
-+ mark_end = var_InheritInteger( p_access, SOUT_CFG_PREFIX "mark-end");
-+ fprintf(stderr, "jabla: %d -> %d\n", mark_start, mark_end);
-+
-+ if (mark_start >= 0 && mark_end > mark_start) {
-+ vlc_mutex_init(&mark_lock);
-+ mark_used = (int *)malloc((mark_end - mark_start) * sizeof(int));
-+ for (int i = 0; i < mark_end - mark_start; ++i) {
-+ mark_used[i] = 0;
-+ }
-+ }
-+ }
-+
- psz_user = var_GetNonEmptyString( p_access, SOUT_CFG_PREFIX "user" );
- psz_pwd = var_GetNonEmptyString( p_access, SOUT_CFG_PREFIX "pwd" );
- if( p_access->psz_access && !strcmp( p_access->psz_access, "mmsh" ) )
-diff --git a/src/libvlccore.sym b/src/libvlccore.sym
-index 25d83c5..335edda 100644
---- a/src/libvlccore.sym
-+++ b/src/libvlccore.sym
-@@ -631,3 +631,7 @@ xml_ReaderDelete
- xml_ReaderReset
- vlc_keycode2str
- vlc_str2keycode
-+mark_end
-+mark_lock
-+mark_start
-+mark_used
-diff --git a/src/network/httpd.c b/src/network/httpd.c
-index f76c47c..d7897bb 100644
---- a/src/network/httpd.c
-+++ b/src/network/httpd.c
-@@ -67,6 +67,50 @@
-
- static void httpd_ClientClean( httpd_client_t *cl );
-
-+VLC_API vlc_mutex_t mark_lock;
-+VLC_API int *mark_used = NULL;
-+VLC_API int mark_start = -1;
-+VLC_API int mark_end = -1;
-+
-+void mark_socket(int fd)
-+{
-+ vlc_mutex_lock(&mark_lock);
-+ int best_mark = mark_start;
-+ int best_mark_val = mark_used[0];
-+
-+ for (int i = 1; i < mark_end - mark_start; ++i) {
-+ if (mark_used[i] < best_mark_val) {
-+ best_mark = mark_start + i;
-+ best_mark_val = mark_used[i];
-+ }
-+ }
-+ fprintf( stderr, "PICKED MARK %d WITH OLD USAGE %d\n", best_mark, best_mark_val);
-+ if (setsockopt (fd, SOL_SOCKET, SO_MARK, &best_mark, sizeof(best_mark)) == -1) {
-+ perror("setsockopt(SO_MARK)");
-+ } else {
-+ ++mark_used[best_mark - mark_start];
-+ }
-+ vlc_mutex_unlock(&mark_lock);
-+}
-+
-+void unmark_socket(int fd)
-+{
-+ int mark;
-+ socklen_t mark_len = sizeof(mark);
-+ if (getsockopt (fd, SOL_SOCKET, SO_MARK, &mark, &mark_len) == -1) {
-+ perror("getsockopt(SO_MARK)");
-+ return;
-+ }
-+ if (mark < mark_start || mark >= mark_end) {
-+ fprintf("UNKNOWN MARK %d\n", mark);
-+ }
-+
-+ vlc_mutex_lock(&mark_lock);
-+ --mark_used[mark - mark_start];
-+ fprintf(stderr, "UNMARKED MARK %d WITH NEW USAGE %d\n", mark, mark_used[mark - mark_start]);
-+ vlc_mutex_unlock(&mark_lock);
-+}
-+
- /* each host run in his own thread */
- struct httpd_host_t
- {
-@@ -1295,6 +1339,7 @@ static void httpd_ClientClean( httpd_client_t *cl )
- {
- if( cl->p_tls != NULL )
- vlc_tls_SessionDelete( cl->p_tls );
-+ unmark_socket( cl->fd );
- net_Close( cl->fd );
- cl->fd = -1;
- }
-@@ -2309,6 +2354,11 @@ static void* httpd_HostThread( void *data )
- setsockopt (fd, SOL_SOCKET, SO_REUSEADDR,
- &(int){ 1 }, sizeof(int));
-
-+ // find a free mark
-+ if (mark_used != NULL) {
-+ mark_socket(fd);
-+ }
-+
- vlc_tls_t *p_tls;
-
- if( host->p_tls != NULL )