Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Martin Finkel
VLC
Commits
adcd90a0
Commit
adcd90a0
authored
May 27, 2015
by
François Cartegnie
🤞
Browse files
demux: adaptative: add retriever helper
parent
0068c678
Changes
3
Hide whitespace changes
Inline
Side-by-side
modules/demux/Makefile.am
View file @
adcd90a0
...
...
@@ -341,7 +341,9 @@ libdash_plugin_la_SOURCES += \
demux/adaptative/StreamsType.hpp
\
demux/adaptative/tools/Helper.cpp
\
demux/adaptative/tools/Helper.h
\
demux/adaptative/tools/Properties.hpp
demux/adaptative/tools/Properties.hpp
\
demux/adaptative/tools/Retrieve.cpp
\
demux/adaptative/tools/Retrieve.hpp
libdash_plugin_la_SOURCES
+=
demux/mp4/libmp4.c demux/mp4/libmp4.h
...
...
modules/demux/adaptative/tools/Retrieve.cpp
0 → 100644
View file @
adcd90a0
/*
* Parser.cpp
*****************************************************************************
* Copyright © 2015 - VideoLAN Authors
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#include "Retrieve.hpp"
#include "../http/HTTPConnectionManager.h"
#include "../http/HTTPConnection.hpp"
#include "../http/Chunk.h"
using
namespace
adaptative
;
using
namespace
adaptative
::
http
;
uint64_t
Retrieve
::
HTTP
(
vlc_object_t
*
obj
,
const
std
::
string
&
uri
,
void
**
pp_data
)
{
HTTPConnectionManager
connManager
(
obj
);
Chunk
*
datachunk
;
try
{
datachunk
=
new
Chunk
(
uri
);
}
catch
(
int
)
{
*
pp_data
=
NULL
;
return
0
;
}
if
(
!
connManager
.
connectChunk
(
datachunk
)
||
datachunk
->
getConnection
()
->
query
(
datachunk
->
getPath
())
!=
VLC_SUCCESS
||
datachunk
->
getBytesToRead
()
==
0
)
{
datachunk
->
getConnection
()
->
releaseChunk
();
delete
datachunk
;
*
pp_data
=
NULL
;
return
0
;
}
size_t
i_data
=
datachunk
->
getBytesToRead
();
*
pp_data
=
malloc
(
i_data
);
if
(
*
pp_data
)
{
ssize_t
ret
=
datachunk
->
getConnection
()
->
read
(
*
pp_data
,
i_data
);
if
(
ret
<
0
)
{
free
(
*
pp_data
);
*
pp_data
=
NULL
;
i_data
=
0
;
}
else
{
i_data
=
ret
;
}
}
datachunk
->
getConnection
()
->
releaseChunk
();
delete
datachunk
;
return
i_data
;
}
modules/demux/adaptative/tools/Retrieve.hpp
0 → 100644
View file @
adcd90a0
/*
* Retrieve.hpp
*****************************************************************************
* Copyright © 2015 - VideoLAN Authors
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef RETRIEVE_HPP
#define RETRIEVE_HPP
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
//#include <inttypes.h>
#include <vlc_common.h>
#include <string>
namespace
adaptative
{
class
Retrieve
{
public:
static
uint64_t
HTTP
(
vlc_object_t
*
,
const
std
::
string
&
uri
,
void
**
pp_data
);
};
}
#endif // RETRIEVE_HPP
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