diff options
Diffstat (limited to 'plugins/mms/libmms/mmsx.c')
-rw-r--r-- | plugins/mms/libmms/mmsx.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/plugins/mms/libmms/mmsx.c b/plugins/mms/libmms/mmsx.c index fc95de86..e2c3fd9b 100644 --- a/plugins/mms/libmms/mmsx.c +++ b/plugins/mms/libmms/mmsx.c @@ -33,9 +33,10 @@ struct mmsx_s { mms_t *connection; mmsh_t *connection_h; + int *need_abort; }; -mmsx_t *mmsx_connect(mms_io_t *io, void *data, const char *url, int bandwidth) +mmsx_t *mmsx_connect(mms_io_t *io, void *data, const char *url, int bandwidth, int *need_abort) { mmsx_t *mmsx = calloc(1, sizeof(mmsx_t)); char *try_mms_first = getenv("LIBMMS_TRY_MMS_FIRST"); @@ -43,6 +44,8 @@ mmsx_t *mmsx_connect(mms_io_t *io, void *data, const char *url, int bandwidth) if (!mmsx) return mmsx; + mmsx->need_abort = need_abort; + /* Normally we try mmsh first, as mms: is a rollover protocol identifier according to microsoft and recent mediaplayer versions will try mmsh before mms for mms:// uris. Note that in case of a mmst:// or a @@ -72,9 +75,9 @@ mmsx_t *mmsx_connect(mms_io_t *io, void *data, const char *url, int bandwidth) int mmsx_read (mms_io_t *io, mmsx_t *mmsx, char *data, int len) { if(mmsx->connection) - return mms_read(io, mmsx->connection, data, len); + return mms_read(io, mmsx->connection, data, len, mmsx->need_abort); else - return mmsh_read(io, mmsx->connection_h, data, len); + return mmsh_read(io, mmsx->connection_h, data, len, mmsx->need_abort); } int mmsx_time_seek (mms_io_t *io, mmsx_t *mmsx, double time_sec) |