From 564505e16f7f4cc2ee6dbc59643b6b688c19bdee Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 21 Jun 2019 11:45:20 -0400 Subject: [PATCH] uri-asset: Fix retrieving a relocated asset sync twice Add a simple test for that. --- ges/ges-uri-asset.c | 1 + tests/check/python/test_assets.py | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ges/ges-uri-asset.c b/ges/ges-uri-asset.c index 8c0f3b12c7..5e21f5de6d 100644 --- a/ges/ges-uri-asset.c +++ b/ges/ges-uri-asset.c @@ -455,6 +455,7 @@ asset_ready_cb (GESAsset * source, GAsyncResult * res, RequestSyncData * data) gchar *possible_uri = ges_uri_asset_try_update_id (data->error, source); if (possible_uri) { + ges_asset_try_proxy (source, possible_uri); g_clear_error (&data->error); ges_asset_request_async (GES_TYPE_URI_CLIP, possible_uri, NULL, (GAsyncReadyCallback) asset_ready_cb, data); diff --git a/tests/check/python/test_assets.py b/tests/check/python/test_assets.py index afe1590a44..8108ba1f05 100644 --- a/tests/check/python/test_assets.py +++ b/tests/check/python/test_assets.py @@ -31,13 +31,14 @@ from gi.repository import GES # noqa import unittest # noqa from unittest import mock +from . import common from .common import GESSimpleTimelineTest # noqa Gst.init(None) GES.init() -class TestTimeline(unittest.TestCase): +class TestTimeline(GESSimpleTimelineTest): def test_request_relocated_assets_sync(self): path = os.path.join(__file__, "../../../", "png.png") @@ -47,4 +48,15 @@ class TestTimeline(unittest.TestCase): GES.add_missing_uri_relocation_uri(Gst.filename_to_uri(os.path.join(__file__, "../../assets")), False) path = os.path.join(__file__, "../../", "png.png") self.assertEqual(GES.UriClipAsset.request_sync(Gst.filename_to_uri(path)).props.id, - Gst.filename_to_uri(os.path.join(__file__, "../../assets/png.png"))) \ No newline at end of file + Gst.filename_to_uri(os.path.join(__file__, "../../assets/png.png"))) + + def test_request_relocated_twice(self): + mainloop = common.create_main_loop() + + GES.add_missing_uri_relocation_uri(Gst.filename_to_uri(os.path.join(__file__, "../../")), True) + proj = GES.Project.new() + + asset = proj.create_asset_sync("file:///png.png", GES.UriClip) + self.assertIsNotNone(asset) + asset = proj.create_asset_sync("file:///png.png", GES.UriClip) + self.assertIsNotNone(asset) \ No newline at end of file