uridownloader: Store URI and redirect target in the downloaded fragments
This commit is contained in:
parent
7852430934
commit
8372fa6ecc
@ -180,6 +180,8 @@ gst_fragment_finalize (GObject * gobject)
|
|||||||
{
|
{
|
||||||
GstFragment *fragment = GST_FRAGMENT (gobject);
|
GstFragment *fragment = GST_FRAGMENT (gobject);
|
||||||
|
|
||||||
|
g_free (fragment->uri);
|
||||||
|
g_free (fragment->redirect_uri);
|
||||||
g_free (fragment->name);
|
g_free (fragment->name);
|
||||||
g_mutex_clear (&fragment->priv->lock);
|
g_mutex_clear (&fragment->priv->lock);
|
||||||
|
|
||||||
|
@ -41,6 +41,10 @@ struct _GstFragment
|
|||||||
{
|
{
|
||||||
GObject parent;
|
GObject parent;
|
||||||
|
|
||||||
|
gchar * uri; /* URI of the fragment */
|
||||||
|
gchar * redirect_uri; /* Redirect target if any */
|
||||||
|
gboolean redirect_permanent; /* If the redirect is permanent */
|
||||||
|
|
||||||
gchar * name; /* Name of the fragment */
|
gchar * name; /* Name of the fragment */
|
||||||
gboolean completed; /* Whether the fragment is complete or not */
|
gboolean completed; /* Whether the fragment is complete or not */
|
||||||
guint64 download_start_time; /* Epoch time when the download started */
|
guint64 download_start_time; /* Epoch time when the download started */
|
||||||
|
@ -545,10 +545,22 @@ quit:
|
|||||||
|
|
||||||
/* set the element state to NULL */
|
/* set the element state to NULL */
|
||||||
GST_OBJECT_UNLOCK (downloader);
|
GST_OBJECT_UNLOCK (downloader);
|
||||||
if (download == NULL)
|
if (download == NULL) {
|
||||||
gst_element_set_state (urisrc, GST_STATE_NULL);
|
gst_element_set_state (urisrc, GST_STATE_NULL);
|
||||||
else
|
} else {
|
||||||
|
GstQuery *query;
|
||||||
|
|
||||||
|
/* Download successfull, let's query the URI */
|
||||||
|
query = gst_query_new_uri ();
|
||||||
|
if (gst_element_query (urisrc, query)) {
|
||||||
|
gst_query_parse_uri (query, &download->uri);
|
||||||
|
gst_query_parse_uri_redirection (query, &download->redirect_uri);
|
||||||
|
gst_query_parse_uri_redirection_permanent (query,
|
||||||
|
&download->redirect_permanent);
|
||||||
|
}
|
||||||
|
gst_query_unref (query);
|
||||||
gst_element_set_state (urisrc, GST_STATE_READY);
|
gst_element_set_state (urisrc, GST_STATE_READY);
|
||||||
|
}
|
||||||
GST_OBJECT_LOCK (downloader);
|
GST_OBJECT_LOCK (downloader);
|
||||||
gst_element_set_bus (urisrc, NULL);
|
gst_element_set_bus (urisrc, NULL);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user