2 * Copyright (C) 2010-2011 Toni Gundogdu <legatvs@gmail.com>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
25 : content_length(-1), duration(-1)
32 Media::Media(quvi_media_t m
)
35 #define _wrap(id,dst,type) \
36 do { type t; quvi_getprop(m,id,&t); dst=t; } while (0)
37 _wrap(QUVIPROP_PAGETITLE
, page_title
, char*);
38 _wrap(QUVIPROP_STARTTIME
, start_time
, char*);
39 _wrap(QUVIPROP_PAGEURL
, page_url
, char*);
40 _wrap(QUVIPROP_HOSTID
, host
, char*);
41 _wrap(QUVIPROP_MEDIAID
, id
, char*);
42 _wrap(QUVIPROP_MEDIACONTENTLENGTH
, content_length
, double);
43 _wrap(QUVIPROP_MEDIACONTENTTYPE
, content_type
, char*);
44 _wrap(QUVIPROP_FILESUFFIX
, file_suffix
, char*);
45 _wrap(QUVIPROP_MEDIAURL
, url
, char*);
46 _wrap(QUVIPROP_MEDIATHUMBNAILURL
, thumbnail_url
, char*);
47 _wrap(QUVIPROP_MEDIADURATION
, duration
, double);
52 Media::Media(const Media
& v
)
60 Media
& Media::operator=(const Media
& v
)
62 if (this != &v
) _swap(v
);
70 void Media::_swap(const Media
& m
)
72 page_title
= m
.page_title
;
73 start_time
= m
.start_time
;
74 page_url
= m
.page_url
;
77 content_length
= m
.content_length
;
78 content_type
= m
.content_type
;
79 file_suffix
= m
.file_suffix
;
81 thumbnail_url
= m
.thumbnail_url
;
82 duration
= m
.duration
;
85 // vim: set ts=2 sw=2 tw=72 expandtab: